使用fetch api下载文件

时间:2017-10-02 20:00:05

标签: javascript fetch

我试图通过点击它不下载文件的按钮来下载文件。但是,如果我在浏览器上访问网址,则会下载 docx

获取请求:

const response = await fetch(`/template/${id}/docx`, {
  method: 'GET',
  credentials: 'include',
});

const blob = await response.blob();

const file = new File([blob], id, {type: blob.type, lastModified: Date.now()});

响应:

enter image description here

1 个答案:

答案 0 :(得分:4)

fetch调用要么使用Response对象解析,要么拒绝并出错。如果你想要响应体(在你的情况下可能是二进制blob),那么你可以尝试:

const response = await fetch(`/template/${id}/docx`, {
  method: 'GET',
  credentials: 'include',
});
const doc = await response.blob()

你仍然需要注意显示它,把它写在磁盘上,无论你想用它做什么。