2013-03-04 30 views
10

Cách tốt nhất để đạt được điều kiện bên dưới trong các trình duyệt mới nhất mới nhất (với hỗ trợ html5). Tôi chủ yếu nhắm mục tiêu Google Chrome.Javascript lưu dữ liệu vào hệ thống tệp (với lời nhắc người dùng)

Trong ứng dụng của tôi, dữ liệu được điều khiển thông qua javascript và cần ghi đầu ra vào hệ thống tệp bằng lời nhắc của trình duyệt (lưu dưới dạng hộp thoại). Tôi không chắc chắn về các hạn chế bảo mật để ghi vào hệ thống tập tin, nhưng tôi không lập kế hoạch viết nặc danh (nhưng người dùng được nhắc nhở, và chọn vị trí).

Tôi thấy saveAs chưa được hỗ trợ. Với nghiên cứu của tôi, tôi thấy vài lựa chọn.

  1. https://github.com/eligrey/FileSaver.js
  2. a.download (http://html5-demos.appspot.com/static/a.download.html)
  3. web hệ thống tập tin
  4. URL đối tượng

FileServer rơi trở lại 2,3,4 nếu không có hỗ trợ và tôi có thể sử dụng nó . Nhưng, tôi không tìm thấy cách để mở hộp thoại Lưu dưới dạng. Nó chỉ lưu một tập tin ở vị trí mặc định (thư mục tải xuống trong mac).

Bạn sẽ sử dụng tùy chọn nào để nhận hỗ trợ tốt trong các trình duyệt mới nhất? Cách mở hộp thoại Lưu dưới dạng và cho phép người dùng đặt tên tệp.

Cảm ơn.

+1

loại tệp nào. thông thường bạn chỉ cần xuất nó vào trình duyệt với các tiêu đề chính xác và trình duyệt sẽ xử lý hộp thoại lưu dưới dạng cho bạn. –

+0

nói, một đối tượng js, sẽ tuần tự hóa thành csv/json khi lưu. – bsr

+0

http://stackoverflow.com/questions/4639372/export-to-csv-in-jquery –

Trả lời

3

Tôi đồng ý với Nathan Hayfield. Trình duyệt sẽ xử lý hộp thoại lưu cho bạn. Đặt tiêu đề Nội dung-Bố trí sẽ gửi phản hồi trở lại dưới dạng tệp đính kèm và trình duyệt sẽ xử lý nó từ đó. ví dụ:

content.Headers.Add("Content-Disposition", "attachment; filename=export.csv"); 
Các vấn đề liên quan