将 JSON 对象转换为 Blob,设置 Blob 数据的类型,再使用 FormData 数据格式请求接口
今日与后端联调请求接口,遇到一个问题,接口要求传入的数据格式为 FormData,并且要将 JSON 数据转成流
我们需要将 JSON 对象转换为 Blob 数据格式,并设置 Blob 的类型为 application/json
将原本文件流的 Blob 类型设置为 application/octet-stream
, 然后使用 FormData 进行请求。
具体实现如下:
const formData = new FormData();
// 将二进制流设置类型为 application/octet-streamconst fileBlob = new Blob([ signatureData?.blob ], { type: 'application/octet-stream' });
// 将 JSON 对象转换为 Blob,并设置类型为 application/jsonconst jsonBlob = new Blob([ JSON.stringify({ name: 'CoderBin', age: 18,}) ], { type: 'application/json' });
formData.append('file', fileBlob, `${uuid()}-file.png`); // 第三个参数设置文件名formData.append('actionSignatureRecord', jsonBlob);