![](/img/trans.png)
[英]How to force browser to open save as dialog, even if download folder was set?
[英]Forcing browser to open “Save As” dialog on file download
我已经阅读了至少 40-50 篇关于这个主题的帖子,但没有一个解决方案真正符合我的要求。 我“命令”我的 WinCE 6.0 板通过 AJAX 请求创建一个备份文件,然后我想将此文件保存到本地 WS。
我有以下 javascript 代码,一旦 AJAX 请求完成就会调用它:
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(可能还有其他浏览器)中设置一个选项以在保存文件之前强制它询问,但我认为要求用户这样做是不可接受的(由于操作的复杂性)。
无论如何在保存链接文件之前“强制”浏览器询问?
谢谢
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.