最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - User specified download location - Stack Overflow

programmeradmin3浏览0评论

I've been looking about for a while now and I cant find a proper answer.

Basically I have a web page that lets the user enter somevalues and download a specific file depending on the values entered. All is working but, I want to enable the user to select where to save the file to, instead of just the browser saving to the default download location.

I am using the follownig to initiate the download.

 /**
        *    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');
        }

I've been looking about for a while now and I cant find a proper answer.

Basically I have a web page that lets the user enter somevalues and download a specific file depending on the values entered. All is working but, I want to enable the user to select where to save the file to, instead of just the browser saving to the default download location.

I am using the follownig to initiate the download.

 /**
        *    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');
        }
Share Improve this question edited Jul 13, 2011 at 10:28 Anto K asked Jul 13, 2011 at 10:11 Anto KAnto K 431 silver badge4 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

Whether the browser asks the user or not is down to the user's preferences in the browser. You can't bypass those preferences (nor, really, should you — if the user wants to always download files to a specified location, they should be allowed to do that).

What you can do is make sure you're sending the browser as much information as possible to help it make for a good user experience. If you're not already doing so (you probably are), be sure to include a Content-Disposition header in the response to the download request, including a filename field:

Content-Disposition: attachment; filename=foo.csv

But I'm guessing you're already doing that part.

发布评论

评论列表(0)

  1. 暂无评论