gpt4 book ai didi

angular - 如何将文件保存到我的桌面文件夹angular 6

转载 作者:太空狗 更新时间:2023-10-29 17:27:55 26 4
gpt4 key购买 nike

我已经从base64构建了一个文件,我想把它保存到本地系统

dataURLtoFile(dataurl, filename, format) {
const arr = dataurl.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type: format});
}

使用这个函数我可以将我的 base64 转换为文件。但我想将其下载到我的本地系统。我怎样才能在 Angular 2 及以上做到这一点?

最佳答案

指定下载位置对话框完全依赖于浏览器。通过 Javascript,您无法指定用户的桌面位置来下载文件。 Javascript 访问您的目录位置会导致严重的安全风险。最多,您可以将浏览器设置更改为每次都询问下载位置。

要在默认下载位置实现正常下载,可以使用filesaver

只需将其导入您的代码中:

import { saveAs } from 'file-saver'

并在您的 downloadUrlToFile 方法中使用 saveAs

dataURLtoFile(dataurl, filename, format) {
const arr = dataurl.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
saveAs(new File([u8arr], filename, {type: format}));
}

请在此处查看示例:https://stackblitz.com/edit/angular-xrubur?file=src%2Fapp%2Fapp.component.ts

关于angular - 如何将文件保存到我的桌面文件夹angular 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53914772/

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