【问题标题】:User specified download location用户指定的下载位置
【发布时间】:2011-07-13 10:11:18
【问题描述】:

我已经找了一段时间了,我找不到合适的答案。

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

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

【问题讨论】:

    标签: javascript download


    【解决方案1】:

    浏览器是否询问用户取决于用户在浏览器中的偏好。您无法绕过这些偏好设置(实际上,您也不应该——如果用户希望始终将文件下载到指定位置,则应该允许他们这样做)。

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

    Content-Disposition: attachment; filename=foo.csv
    

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

    【讨论】:

    • 感谢您的快速回复。是的,我已经这样做了,我不知道您不能“强制”保存到对话框。谢谢。
    猜你喜欢
    • 2021-06-20
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 2013-04-12
    • 2016-02-10
    • 2020-01-16
    相关资源
    最近更新 更多