我想从服务器下载一个 gzip 文件。我有一个返回 gzip 文件的 API。所以我必须从 React 调用该 API 并从客户端下载 gzip 文件。
这是我调用 API 的代码:
const res = await API.get(`${baseUrl}/${advId}/${type}`, {
params: { campaign_id: id, start_date: startDate, end_date: endDate },
});
const data = res.data;
const url = URL.createObjectURL( new Blob(data));
const link = document.createElement('a');
link.href = url;
link.click();
尝试将来自服务器的响应转换为 Blob。但错误是未处理的拒绝(TypeError):无法构造'Blob':提供的值无法转换为序列。。响应数据应该是一个 gzip 文件。
答案 0 :(得分:0)
我可以想到两件事你可以尝试:
axios.get(`${baseUrl}/${advId}/${type}`, { responseType: 'arraybuffer' })
new Blob([response.data])