【发布时间】:2016-05-04 19:22:38
【问题描述】:
我已经阅读了至少 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);
}
Both 'techniques' endup @ chrome 50 中的结果相同,文件确实保存到磁盘中的本地文件夹中,专门用于用户文件下载...
我希望浏览器在将此文件保存到磁盘之前询问我(通过文件请求者),以便我决定将其放在哪里。
我在某处读到,您可以在 chrome(可能还有其他浏览器)中设置一个选项以强制它在保存文件之前询问,但我认为要求用户这样做是不可接受的(由于操作的复杂性)。
在保存链接文件之前是否“强制”浏览器询问?
谢谢
【问题讨论】:
-
没有。这种行为是由用户和用户单独决定的。
-
我相信这个问题是answered here,尽管question 本身不一定是重复的。简而言之,浏览器控制文件保存的工作方式,而不是 Web 应用程序。
-
用户代理(在本例中是您的浏览器)决定如何处理文件。 Chrome 和 Firefox 都有设置让你选择一个特定的文件夹,或者每次都询问。您无法从网页上决定。
标签: javascript html