通过后端返回的 url 导出文件
export const exportFile = (file_url: string): Promise<void> => {
return new Promise((resolve) => {
fetch(file_url)
.then((res) => res.blob())
.then((blob) => {
const a = document.createElement("a");
const url = window.URL.createObjectURL(blob);
const name = file_url.split("/");
const filename = `${name[name.length - 1]}`;
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
resolve();
});
});
};
export const exportFileByUrl = (file_url: string) => {
const a = document.createElement("a");
const name = file_url.split("/");
const filename = `${name[name.length - 1]}`;
a.href = file_url;
a.download = filename;
a.click();
a.remove();
};
通过后端返回的 blob 导出文件
export const downloadFile = (filename: string, blob: Blob) => {
const a = document.createElement("a");
const binaryData: Blob[] = [];
binaryData.push(blob);
const url = window.URL.createObjectURL(new Blob(binaryData));
a.href = url;
a.download = decodeURIComponent(filename);
a.click();
window.URL.revokeObjectURL(url);
};