2012-12-21 18 views
5

Olası Çoğalt:
Force download of ‘data:text/plain’ URL
Create a downloadable link from a vriable in javascriptJavaScript ile nasıl dosya oluşturursunuz?

I (.txt, .pdf, .vcard uzantılarıyla) dosyalarını oluşturmak/oluşturabilir eklentileri gördük ve ben tam emin değilim nasıl bitti. Bunlar Ajax ile mi yapıldı? Yoksa eksik olduğum bir nesne/yöntem var mı?

+0

Bunu yalnızca istemci tarafı kullanarak yapmak mümkün müdür? – Dandy

+0

Sadece FileSystem API ile ancak sizin aradığınızdan emin değilim ... Örnek içeren bir siteniz var mı? –

+2

Kullanıcının bilgisayarında dosyalar oluşturmak için, genellikle dosya verileriyle bir ikili dizge oluşturun ve ardından sayfayı bir ['data:' URL] (https://en.wikipedia.org/wiki/Data_URI_scheme) sayfasına yönlendirin. base64 kodlu dosya verileriyle, tarayıcı bunu indirebilir. – apsillers

cevap

1

Html5, Dosya Sistemine erişimi desteklemektedir. İşte

http://www.html5rocks.com/en/tutorials/file/filesystem/

+0

Güzel! Bu çok yararlı, ancak HTML5'in kullanıma sunulmasından önce kullanıcıların dosyaları nasıl oluşturduklarını merak ediyorum. Ayrıca, bu henüz yaygın olarak desteklenmediği için. – Dandy

+0

Dosya * veri * oluşturma ve * gerçek dosya * oluşturulmasını isteyen iki ayrı adımdır. Tarayıcınızı 'data: text/x-plain, helloworldfoobar' biçimine yönlendirin ve dosya verilerinizi oluşturduktan sonra bir indirme istemenizi oldukça kolay göreceksiniz. Dosya verisi oluşturmak, herhangi bir dilde herhangi bir veri oluşturmak ile kabaca aynıdır: bazı bitleri ve baytları istediğiniz gibi görünene kadar çevirin. – apsillers

+0

Örneğin, VBScript aracılığıyla bir microsoft makinelerinde aşağıdakileri yapabilirsiniz: fso = createobject ("scripting.filesystemobject") ... öğesini ayarlayın. Ben javascript içinde bunu yapmak için benzer bir yol olduğunu düşünüyorum. – malkassem

0

FS API için spec: linke Aşağıda iyi bir örnek vardır. Ne yazık ki support için çok hafif. Ancak, mobil uygulamalarda kullanmak istiyorsanız, PhoneGap'in implement it vardır.

Bir GreaseMonkey komut dosyası yazarsanız, aynı başlangıç ​​politikasına sahip olmayan GM_xmlhttpRequest kodunuz vardır.

+0

Paylaşım için teşekkürler! – Dandy

İlgili konular