1

JS と PHP で非常に単純なファイル共有サイトを作成しています。ドラッグ/ドロップが機能しているので、ブラウザはドロップ時にオブジェクトを取得し、そこからアップロード ページにリクエストをfile送信しようとしました。xhrただし、fileリクエストヘッダーにバイナリオブジェクトをドロップするだけではないように見えるので、それをbase64でエンコードする方法を考えていました。

PHP では を使用しますbase64_encodeが、まだ PHP のページにアクセスしていません。私の現在の方法に代わる方法を提案していただけないでしょうか?

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

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

ここに私のデモがあります: http://bernsteinbear.com/up

4

2 に答える 2

3

現在Firefoxでのみサポートされている関数がありxhr.sendAsBinaryますが、今のところ、このカスタム関数を使用してJavascriptでBase64エンコーディングを実行できます。

http://www.webtoolkit.info/javascript-base64.html

sendAsBinaryまたは、次のように自分で実装することもできます。

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

Base64メソッドが現在最も互換性のあるメソッドであることに注意してください。

于 2012-03-03T20:10:50.270 に答える
0

Valumns File Uploaderのようなものを使用していない理由はありますか? バイナリファイルを「リクエストヘッダーとして」追加したい理由はわかりませんが(私にはほとんど意味がありません)、送信する前にbase64でエンコードする必要があるのは、HTTPがバイナリデータの送信を処理できる場合、少しばかげているようです両方向は非常に簡単です (フォームの例)。繰り返しになりますが、私は File API に慣れていないので、それを使ってどんな特別なことをしているのかわかりません (送信する前にファイルを変換していますか?)。たぶん、私はこの演習の要点を見逃しています。

于 2012-03-03T20:37:48.080 に答える