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

html - Javascript save data to file system (with user prompt) - Stack Overflow

programmeradmin3浏览0评论

What is the best way to achieve the below in latest latest browsers (with html5 support). I mainly target Google Chrome.

In my application, data is manipulated through javascript and needs to write output to the file system with a browser prompt (save as dialog). I am not sure about the security restrictions to write to file system, but I am not planning anonymous write (but user is prompted, and selects the location).

I see saveAs not natively supported yet. With my research, I see few options.

  1. .js
  2. a.download (.download.html)
  3. web filesystem
  4. object URLs

FileServer falls back to 2,3,4 if no native support and I may use it. But, I don't find a way to open a Save As dialog. It just save a file in default location (downloads folder in mac).

Which option would you use to get a good support in latest browsers? How can get open the Save As dialog and let the user name the file.

Thanks.

What is the best way to achieve the below in latest latest browsers (with html5 support). I mainly target Google Chrome.

In my application, data is manipulated through javascript and needs to write output to the file system with a browser prompt (save as dialog). I am not sure about the security restrictions to write to file system, but I am not planning anonymous write (but user is prompted, and selects the location).

I see saveAs not natively supported yet. With my research, I see few options.

  1. https://github./eligrey/FileSaver.js
  2. a.download (http://html5-demos.appspot./static/a.download.html)
  3. web filesystem
  4. object URLs

FileServer falls back to 2,3,4 if no native support and I may use it. But, I don't find a way to open a Save As dialog. It just save a file in default location (downloads folder in mac).

Which option would you use to get a good support in latest browsers? How can get open the Save As dialog and let the user name the file.

Thanks.

Share Improve this question asked Mar 4, 2013 at 22:20 bsrbsr 58.8k88 gold badges218 silver badges321 bronze badges 6
  • 1 what type of file is it. usually you just output it to the browser with the correct headers and the browser takes care of the save as dialog for you. – nathan hayfield Commented Mar 4, 2013 at 22:22
  • say, a js object, which will serialize to csv / json upon save. – bsr Commented Mar 4, 2013 at 22:23
  • stackoverflow./questions/4639372/export-to-csv-in-jquery – nathan hayfield Commented Mar 4, 2013 at 22:25
  • Since your mainly target is Google Chrome, a 5º option is making your application a Chrome Package App and use the chrome.fileSystem API. – user2587420 Commented Jul 21, 2013 at 21:46
  • 1 In Google Chrome (and currently no other browsers), you can set a download attribute on your link (<a href="rec.csv" download="save_name.csv">). However, this does not use a prompt; it downloads directly to the user's downloads folder. – apsillers Commented Jul 24, 2013 at 20:08
 |  Show 1 more ment

1 Answer 1

Reset to default 4

I agree with Nathan Hayfield. The browser will handle the save dialog box for you. Setting the header Content-Disposition will send the response back as an attachment and the browser will handle it from there. eg.

content.Headers.Add("Content-Disposition", "attachment; filename=export.csv");
发布评论

评论列表(0)

  1. 暂无评论