前端实现文件下载报错?

从腾讯云cos获取到的文件内容,返回是这样的:

image.png

获取到内容之后我是这样触发下载的:

const anchor = document.createElement('a');
anchor.style.display = 'none';
anchor.download = fileName;
anchor.href = URL.createObjectURL(new Blob([data], { type: 'application/octet-stream' }));
document.body.append(anchor);
anchor.click();
URL.revokeObjectURL(anchor.href);
document.body.removeChild(anchor);

但是下载完打开的时候就报文件损坏

阅读 4.1k
2 个回答

之前遇到axios请求接口获取下载内容,遇到和你一样的问题。
我这边的解决方案是:在请求接口的时候,就修改responseType: arraybuffer

image

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题