用户指定的下载位置

时间:2011-07-13 10:11:18

标签: javascript download

我一直在寻找一段时间,我找不到合适的答案。

基本上我有一个网页,允许用户输入某些值并根据输入的值下载特定文件。 一切正常,但是,我想让用户选择保存文件的位置,而不是仅保存到默认下载位置的浏览器。

我正在使用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');
        }

1 个答案:

答案 0 :(得分:7)

浏览器是否询问用户是否取决于用户在浏览器中的首选项。你无法绕过这些偏好(也不是真的,如果你想 - 如果用户想要总是将文件下载到指定的位置,他们应该被允许这样做)。

您可以做的是确保您向浏览器发送尽可能多的信息,以帮助其获得良好的用户体验。如果您还没有这样做(可能是),请确保在下载请求的响应中包含Content-Disposition标头,包括filename字段:

Content-Disposition: attachment; filename=foo.csv

但我猜你已经在做那部分了。