gpt4 book ai didi

javascript - 强制浏览器在文件下载时打开 "Save As"对话框

转载 作者:行者123 更新时间:2023-12-03 06:55:50 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Force showing the "Save as" dialog box when downloading a file

(2 个回答)


4个月前关闭。




我已经阅读了至少 40-50 篇关于这个主题的帖子,但没有一个解决方案能真正做到我想要的。
我“命令”我的 WinCE 6.0 板通过 AJAX 请求创建一个备份文件,然后我想将此文件保存到本地 WS。

一旦 AJAX 请求完成,我就会调用以下 javascript 代码:

function DownloadControllerBackupDB(theResult)
{
if(typeof(theResult.Filename) != undefined)
{
var myFileLocation = '/data/' + theResult.Filename;

location.href = myFileLocation;
}
else
{
Error("Backup failed !");
}
}

我也尝试了这种方法(而不是'location.href'技术):
function SaveToDisk(fileURL, fileName) 
{
var save = document.createElement('a');

save.href = fileURL;
save.target = '_blank';
save.download = fileName || 'unknown';

var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}

两种“技术”最终都@chrome 50中的相同结果,该文件确实保存到磁盘中的本地文件夹中,专门用于用户文件下载...

我希望浏览器询问我(带有文件请求者) 之前 将此文件保存到磁盘,以便我可以决定将其放在何处。

我在某处读到,您可以在 chrome(可能还有其他浏览器)中设置一个选项,以强制它在保存文件之前询问,但我认为要求用户这样做是 Not Acceptable (由于操作的复杂性)。

无论如何在保存链接文件之前“强制”浏览器询问?

谢谢

最佳答案

   let a = document.createElement('a');
a.href = 'https://www.google.ru/logos/doodles/2016/2016-hockey-world-championship-5085766322487296.2-hp.jpg';
a.download = true;
var event = document.createEvent('Event');
event.initEvent('click', true, true);
a.dispatchEvent(event)

关于javascript - 强制浏览器在文件下载时打开 "Save As"对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37036302/

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