2012-01-13 18 views
5

ブラウザのjavascript CouchAppからバイナリブロブをCouchDB(添付ファイル)にダウンロード、編集、アップロードする必要があります。javascriptのバイナリデータ(CouchDB添付ファイル)を取得します

私のGoogle-FUは私がこれまでにもリモートで似た何かを見つけることができない:/

現在のソリューションは、Silverlightを使用することを含む、と私は最近のブラウザ(Safariの、モバイルサファリ(iOS版)の平野-jsから行きたいです、 IE 9、Opera 11など)

Chrome(Post binary data cross domain in javascript)にデータをアップロードするソリューションがありますが、その特定のブラウザに固執したくありません。

答えて

4

JavaScriptはバイナリデータを処理するには少し不便ですが、やはり可能です。

これを行う最も簡単な方法は、CouchDBの添付ファイルのbase64バージョンを使用することです。 get attachments inline in a documentを入力し、inline attachmentsとして保存します。

Javascriptのbase64ライブラリを使用して、ブラウザでデコードすることができます。 CouchDBにはFutonアプリケーションの一部として1つが含まれています。 /_utils/script/base64.jsから検索できます。

+0

ありがとうございます!それを逃した。さて、大きな添付ファイルで作業するのは難しいでしょうが、最低限のシナリオ(別のCouchAppからCouchAppのコードを編集する)は問題ないようです。 – wizzard0

+0

アップロードはうまくいきますが、Accept:headers:を指定しなくても、ダウンロードは常にマルチパートデータになります( – wizzard0

+0

JSONPを有効にしてもトリックはできませんが、CouchDBのバグだと思います – wizzard0

関連する問題