强制浏览器打开“;另存为“;对话框
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);
}
这两个"techniques"endup@在chrome50中的结果相同,该文件确实保存到了专用于用户文件下载的本地文件夹中的磁盘中。。。
我希望浏览器在将此文件保存到磁盘之前询问我(与文件请求者),以便我可以决定将其放在哪里。
我在某个地方读到,你可以在chrome(可能还有其他浏览器)中设置一个选项,强制它在保存文件之前进行询问,但我认为要求用户这样做是不可接受的(由于操作的复杂性)。
在保存链接文件之前,是否可以"强制"浏览器询问?
Thanxs
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)
相关文章:
- Safari浏览器上的“强制另存为”对话框
- 强制浏览器打开“;另存为“;对话框
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 如何在Chrome中禁用“另存为”对话框
- 从“另存为浏览器”对话框中获取路径
- 如何防止操作系统“另存为”对话框在输入 Ctrl S 时弹出
- 使用 JavaScript 打开“另存为”/“下载”对话框以下载动态创建的文件
- 需要一个类似于“另存为”对话框的解决方案来使用 javascript 选择文件名和位置
- 如何使用javascript将默认文件扩展名放在另存为对话框中
- 如何通过提示“另存为”对话框从网页中保存文件
- 如何在“另存为”对话框中自动单击“保存”
- Firefox在另存为类型-另存为对话框中的文件类型不正确
- 从javascript打开另存为对话框
- “另存为”对话框
- 如何强制浏览器打开“另存为”二进制响应对话框
- csv文件下载后,使用jQuery/Javascript打开另存为对话框
- 显示“另存为”;对话框,而不是用JavaScript播放音频文件
- 如何显示“另存为”通过jQuery或Javascript在IE9和ie11中添加对话框
- 如何发送一个文件从服务器与另存为对话框
- ajax→下载前另存为对话框