2012-01-13 19 views
5

Bir tarayıcı javascript CouchApp'dan CouchDB'ye (ek olarak) (HTTP PUT aracılığıyla) ikili blobları indirmem, düzenlemem ve yüklemem gerekiyor.http javascript'ten GET ve PUT ikili verileri (CouchDB ekleri)

Benim google-fu bana bu bile uzaktan benzer bir şey bulamazsa:/

Güncel çözümü Silverlight kullanmayı kapsar ve ben modern tarayıcılarda (Safari, Mobil Safari (iOS) üzerine düz js gitmek isteyen, IE 9, Opera 11 vb)

Chrome'da (Post binary data cross domain in javascript) veri yüklemek için bir çözüm var, ancak söz konusu tarayıcıya bağlı kalmak istemiyorum.

cevap

4

Javascript ikili verilerle uğraşmak için biraz rahatsızlık verici olsa da yine de mümkün olmalıdır.

Bunu yapmanın en kolay yolu, CouchDB'nin eklerinin base64 sürümünü kullanmaktır. get attachments inline in a document ve daha sonra inline attachments olarak geri depolayabilirsiniz.

Tarayıcıda çözülmesi için herhangi bir Javascript base64 kitaplığını kullanabilirsiniz. CouchDB, Futon uygulamasının bir parçası olarak içerir. /_utils/script/base64.js'dan alabilirsiniz.

+0

Teşekkürler! Bunu özledim. Eh, büyük ekleri ile çalışmak en azından garip olurdu, ama en küçük senaryo (başka bir CouchApp bir CouchApp kodu düzenleme) Tamam görünüyor. – wizzard0

+0

Eh, yüklemeler iyi çalışıyor, ancak Accept: headers :( – wizzard0

+0

belirtmek olmasa da indirmeler her zaman çok parçalı verilerle sonuçlanır, JSONP'yi etkinleştirmek hala hile yapmaz. Ancak, ben bir CouchDB hatası olduğunu düşünüyorum, cevabınız geçerli kalır – wizzard0