gpt4 book ai didi

javascript - 文件将字节数组下载为javascript/Extjs中的文件

转载 作者:可可西里 更新时间:2023-11-01 01:58:46 25 4
gpt4 key购买 nike

在我的 Ext Js 解决方案中,我正在调用一个返回此 JSON 格式的服务

{"success":true,"filename":"spreadsheet.xlsx","file":[80,75,3,4,20,0,...(many more)]}

如何使用文件名和字节数组(文件)的内容制作文件下载对话框?

更新

所以我找到了这个开始下载

var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob(data.file, { type: 'application/octet-stream' }));
a.download = data.filename;

// Append anchor to body.
document.body.appendChild(a)
a.click();

// Remove anchor from body
document.body.removeChild(a)

目前还不错

但是我得到的文件已损坏,所以我怀疑我需要对文件变量进行编码/解码?

最佳答案

在将文件传递给 Blob 之前,我必须将文件转换为 Uint8Array

var arr = data.file;
var byteArray = new Uint8Array(arr);
var a = window.document.createElement('a');

a.href = window.URL.createObjectURL(new Blob([byteArray], { type: 'application/octet-stream' }));
a.download = data.filename;

// Append anchor to body.
document.body.appendChild(a)
a.click();


// Remove anchor from body
document.body.removeChild(a)

阅读此答案很有帮助 https://stackoverflow.com/a/16245768/1016439

关于javascript - 文件将字节数组下载为javascript/Extjs中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com