0

XHR リクエストを使用して BLOB ファイルを送信していますが、他のデータも一緒に送信する必要があります。できればデータの配列。

Blob データはバイナリ データであるため、単純に json_encode を呼び出すことはできません。しかし、これを行う方法はありますか?

編集: formdata を使用して blob と配列を組み合わせることはできますか?

4

1 に答える 1

-1

通常、データを base64 としてエンコードしてから、マルチパートを使用します。ファイル データは base64 でエンコードされているため、サーバー側でデコードする必要があります。クライアントでは window.btoa を使用できます

Content-Type:multipart/form-data, boundary=xxxxxxxxx

--xxxxxxxxx
Content-Disposition: form-data; name='uploadfile'; filename='123_logo.jpg'
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
/*base64data*/`

追加データが小さい場合は、それをファイル名として設定できます (サーバー上のカスタム ロジックが解釈します。それ以外の場合は、マルチパートの別の部分を使用します。

20MB は、1 回のアップロードでは大きなサイズになる可能性があります。より小さなチャンクでのチャンク化を検討することをお勧めします。

于 2012-12-14T11:17:50.040 に答える