将 JSON 数据上传为文件

Cri*_*yan 2 javascript json file-upload xmlhttprequest google-cloud-storage

我有一个对象(数据),我需要将其转换为 JSON 并将其上传到 CDN。我计划使用JSON.stringify()并传递 javascript 对象

它可以完美地从浏览器将文件上传到 CDN,我想知道如何模拟 FormData

我用来上传文件到CDN的代码是:(作为示例)

const data = new FormData();
data.append('signature', auth.signature);
data.append('key', auth.id);
data.append('policy', auth.policy);
data.append('GoogleAccessId', auth.serviceAccount);
data.append('bucket', 'assets-visualive');
data.append('file', file);
Run Code Online (Sandbox Code Playgroud)

Cri*_*yan 6

经过大量研究后,解决方案是在MDN中使用 FormData 对象

使用 将对象转换为 JSON JSON.stringify(),然后创建一个数据 blob 并将其作为文件上传

const object = { key: 'data', n: 10 };
const json = JSON.stringify(object);
const blob = new Blob([json], { type: 'text/json' });

const data = new FormData();
data.append('file', blob);
Run Code Online (Sandbox Code Playgroud)