概述
`FormData` 用于构造 `multipart/form-data` 请求体,结合 `Blob/File` 上传二进制内容,并携带字段元数据。适用于表单与文件上传、富文本插入等场景。
示例
```js
const fd = new FormData()
fd.append('meta', JSON.stringify({ id: 1 }))
fd.append('file', new Blob([new Uint8Array([1,2,3])], { type: 'application/octet-stream' }), 'data.bin')
await fetch('/upload', { method: 'POST', body: fd })
```
工程建议
- 校验与安全:校验文件类型与大小;服务端验证字段与签名。
- 可靠性:失败重试与断点续传;后端分片与合并策略。
- 兼容:在旧环境回退到 `XMLHttpRequest`;确保进度与取消体验。
参考与验证
- MDN FormData/Blob 文档:https://developer.mozilla.org/docs/Web/API/FormData
- WHATWG Fetch 规范:https://fetch.spec.whatwg.org/

发表评论 取消回复