処理のためにノードサーバーに送信する必要があるRAWピクセルデータ(RGBA)を含むUint8Array
があります。私はそれをブラウザ上のブロブに変換し、それをajex経由で送信しますが、ノード側でデータを取得することは問題になります。私はBuffer
からreq.files.image.data
までブロブを得ることができますが、それを私がUint8Array
と同じシーケンスに戻すにはどうしたらいいですか?これはBuffer size does not match width and height
req.files.image.data
としてはブロブないラップUint8Array
で文句ブラウザからノードにUint8Arrayを転送
lwip.open(req.files.image.data, {
width: parseInt(req.body.width),
height: parseInt(req.body.height)
}, (image, err) => ...)
:ノードサーバで
sendBlob(new Blob(data, {type: "application/octet-stream"}), ...)
function sendBlob (blob, name) {
return new Promise((resolve, reject) => {
let data = new FormData()
data.append('image', blob, name)
data.append('width', 640)
data.append('height', 427)
$.ajax({
url: '/upload',
type: 'POST',
data: data,
processData: false,
contentType: false,
error: reject,
success: resolve
})
})
}
:ブラウザ上で
。
明白な最初のステップは、https://www.npmjs.com/package/toようなもので、それを変換することによって、これが事実であることをuint8arrayノードを伝えることを確認するためにブロブを渡さないことですが、アーリーバッファ –