サーバーにポストバックできるように、ファイルクライアント側を取得するAJAXを少し作成しました。対象は。としてフェッチされますArrayBuffer
。ただし、保存のためにこのバイナリをサーバーにポストバックするときに、このファイルにいくつかのメタデータを含める必要があります。とオブジェクトを他の文字列でラップしようとしましたArrayBuffer
が、データサーバー側を調べると、の長さしか転送されていないようArrayBuffer
です。
私はArrayBuffer
この答えを介して文字列に変換しようとしました:
https://stackoverflow.com/a/11058858/449511。
ただし、私ArrayBuffer
のバイト長は519843であるため、例外が発生します。
Uncaught RangeError:ArrayBufferの長さからbyteOffsetを引いた値は、要素サイズの倍数ではありません。
私の理解ArrayBuffers
はまばらです。MDNドキュメントを読んだことがありますが、他に多くを見つけることができません。ArrayBuffer
これを文字列に変換する方法、またはオブジェクトにラップする方法について、さらにリソースやアイデアを提供してくれたことに感謝してArrayBuffer
います。
これが私のAJAXコードのスニペットです:
$.ajax({
type: 'POST',
url: 'http://localhost:5000/',
data: {fname: f, url:u, binary:b}, // the binary is an ArrayBuffer
});