[英]I have an object in react javascript T[] and need to convert it to Blob
我正在创建这个 js 函数:
export function convertArrayObjToFileDownload(data, filename, filetype = 'application/octet-stream') {
const blob = new Blob(data, { type: filetype });
downloadBlob(blob, filename);
}
data
是一个自定义对象数组,例如{Client: 'My Bank', Tasks: 15, Charge Amount: '$300.00' }
。
我正在尝试将此对象数组转换为 blob。 该数组可能有数百个项目。
你很亲近! 这是问题所在:
Blob()
构造函数接受一个数组作为第一个参数:
https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob#parameters
并且 Array 需要包含您要存储的数据的序列化表示。 对于 JavaScript 对象,通常是 JSON。 因此,首先将您的data
对象转换为 JSON 字符串,然后将该字符串存储在 Blob 中:
const json = JSON.stringify(data);
const blob = new Blob([json], { type: 'text/plain;charset=utf-8' })
由于您将存储一个字符串,因此我建议使用text/plain;charset=utf-8
MIME 类型或专门针对 JSON 的application/json
。
一旦你下载了这个 Blob,它就很容易在任何文本编辑器中打开,因为它只是纯文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.