提示用户使用“另存为”对话框保存文件?

时间:2013-10-30 10:33:50

标签: javascript html save-as

我目前有这段代码:

function download(filename, text) {
        var pom = document.createElement('a');
        pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
        pom.setAttribute('download', filename);
        pom.click();
}

download('test.html', string);

string包含许多以.html文件编写的html代码 上面的代码完美地运行: 在按钮上单击,浏览器(chrome)会自动下载带有写入其中的字符串内容的html文件。

现在,我要做的是,不是自动下载Chrome文件,而是打开“另存为”对话框并询问用户文件的位置和名称,然后将其下载到该位置。

非常感谢快速简单的回复。

2 个答案:

答案 0 :(得分:4)

我的浏览器设置为自动下载默认位置的所有文件,这就是为什么不是这个文件,而是浏览器中的所有其他文件都直接下载而没有保存提示对话框。将浏览器中的设置更改为“始终询问下载位置”。

答案 1 :(得分:2)

执行此操作的唯一方法是在服务器上设置文件的标题,如下所示:

<FilesMatch "\.(?i:pdf)$">
   ForceType application/octet-stream
   Header set Content-Disposition attachment
</FilesMatch>

下载属性不允许您更改文件名或文件类型,因为它存在明显的安全风险。

你要做的是复制右键单击 - 另存为对话,但我担心此时不可能。