サーバー側に大きなファイルをアップロードする必要があるプロジェクトに取り組んでいます。HTML5 FileReader と jQuery を使用して、ファイルをチャンク (ArrayBuffer) でアップロードすることにしました。
チャンクを base64 文字列に変換し、JSON 形式の data パラメータを使用して jQuery.post を介してバックエンド サーバーに送信することで、このタスクを正常に完了しました。
例えば
$.ajax({
url: "/Home/Upload",
type: "POST",
data: {
name: block.name,
index: block.index,
base64: base64
},
processData: true
});
しかし、base64 は大きすぎて変換できないため、このコードを最適化したいと考えています。ArrayBuffer を介して直接送信できるかどうかを知りたい$.ajax
です。
processData: false
を設定してArrayBuffer を data パラメータに入れるだけで、サーバー側に として送信できることを知っていますRequest.InputStream
。name
しかし、この方法ではやなどの他のデータを添付することはできませんindex
。
生の ArrayBuffer (または blob、バイナリ) を他のデータ (名前、インデックス) と一緒に 1 回の ajax 呼び出しで送信してもよいかどうかを知りたいです。