2013-03-04 17 views
10

En son en yeni tarayıcılarda (html5 desteği ile) aşağıdakini elde etmenin en iyi yolu nedir? Esasen Google Chrome'u hedefliyorum.Javascript veri sistemine dosya kaydetme (kullanıcı uyarısı ile)

Uygulamamda, veriler javascript ile işlenmekte ve bir tarayıcı istemi ile (dosya olarak kaydet) dosya sistemine çıktı yazması gerekiyor. Dosya sistemine yazmayla ilgili güvenlik kısıtlamalarından emin değilim, ancak anonim yazmayı planlamıyorum (ancak kullanıcı soruluyor ve konumu seçiyor).

Doğal olarak henüz desteklenmeyen saveAs görüyorum. Araştırmamla birkaç seçenek görüyorum.

  1. https://github.com/eligrey/FileSaver.js
  2. a.download (http://html5-demos.appspot.com/static/a.download.html)
  3. web dosya sistemi
  4. nesne URL'ler
  5. hiçbir yerli destek ve bunu kullanabilir eğer

DosyaSunucusu 2,3,4 geri düşüyor . Ancak, Farklı Kaydet iletişim kutusunu açmanın bir yolunu bulamıyorum. Sadece bir dosyayı varsayılan konuma kaydeder (Mac'te indirilenler klasörü).

En son tarayıcılarda iyi bir destek almak için hangi seçeneği kullanırdınız? Farklı Kaydet iletişim kutusunu nasıl açabilir ve kullanıcıya dosyanın adını vermesini sağlayabilirsiniz.

Teşekkürler.

+1

dosya türü nedir? genellikle tarayıcınıza doğru başlıklarla çıktınız ve tarayıcı sizin için kaydetme diyaloğu ile ilgilenir. –

+0

demek, kaydetme üzerine csv/json'a serileştirilecek bir js nesnesi. – bsr

+0

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

cevap

3

Nathan Hayfield ile aynı fikirdeyim. Tarayıcı sizin için kaydet iletişim kutusunu ele alacaktır. Üstbilginin İçeriği-Yerleştirmeyi Ayarlama, yanıtı bir ek olarak geri gönderecek ve tarayıcı onu buradan ele alacaktır. örn.

content.Headers.Add("Content-Disposition", "attachment; filename=export.csv"); 
İlgili konular