我一直在寻找一段时间,我找不到合适的答案。
基本上我有一个网页,允许用户输入某些值并根据输入的值下载特定文件。 一切正常,但是,我想让用户选择保存文件的位置,而不是仅保存到默认下载位置的浏览器。
我正在使用follownig启动下载。
/**
* Get URL for data file and ensure user wants to download it
**/
function getResultDataHandler(result, messages) {
var dataURL = result.value.url;
var r = confirm("Save File?");
if (r == true) {
download(dataURL);
}
else {
console.log("Canceled");
}
showMessage("", true);
}
/**
* Open the download dialog
**/
function download(dataURL) {
console.log("downloading");
window.open(dataURL, 'Download');
}
答案 0 :(得分:7)
浏览器是否询问用户是否取决于用户在浏览器中的首选项。你无法绕过这些偏好(也不是真的,如果你想 - 如果用户想要总是将文件下载到指定的位置,他们应该被允许这样做)。
您可以做的是确保您向浏览器发送尽可能多的信息,以帮助其获得良好的用户体验。如果您还没有这样做(可能是),请确保在下载请求的响应中包含Content-Disposition
标头,包括filename
字段:
Content-Disposition: attachment; filename=foo.csv
但我猜你已经在做那部分了。