2012-03-03 17 views
1

私は非常に JSとPHPの簡単なファイル共有サイトを書いています。ドラッグ&ドロップがあるので、ブラウザはドロップ時にfileオブジェクトを取得し、そこからアップロードページにxhrリクエストを送信しようとしました。しかし、私はちょうどバイナリを削除することはできませんfileオブジェクトは、リクエストヘッダー、と私はそれをbase64エンコーディングについて行くだろうかと思っていた。ベース64はフォームファイルをエンコードします

PHPではbase64_encodeを使用しますが、まだPHPページではありません。あなたは私の現在のものに代わりの方法を提案できますか?

ああ、それを受け取るPHPでは、ファイルをbase64_decodeの後にセミランダムファイルに書き込みます。

編集:私はそれを回避しましたが、本当に良い答えはありません。助けてくれてありがとう!ここで

は私のデモです:http://bernsteinbear.com/up

答えて

3

あり、現在唯一のFirefox、xhr.sendAsBinaryでサポートされている作品で機能があるが、今のあなたは、このカスタム関数をJavaScriptでBase64エンコードを行うことができます

ここに見られるようにhttp://www.webtoolkit.info/javascript-base64.html

また、あなたは、sendAsBinaryを自分で実装することができます。

http://hublog.hubmed.org/archives/001941.html

現在のところ、Base64方式が最も互換性の高い方法であることに注意してください。

0

Valumns File Uploderのようなものを使用していない理由はありますか?私はバイナリファイルを "リクエストヘッダーとして"(それはほとんど意味がない)追加したいのか分からないが、HTTPがバイナリデータの送信を処理できるときには、送信前にbase64エンコードする必要があるようだ。両方の方向はかなり簡単に(example with forms)。それではまた、私はFile APIに慣れていないので、あなたがそれを使って何をしているのか分かりません(送信する前にファイルを変換していますか?)。多分私はこの練習のポイントを見逃しています。

+0

自分でやりたい – tekknolagi

関連する問題