簡體   English   中英

Javascript:使用XMLHttpRequest發送arrayBuffer

[英]Javascript: Sending arrayBuffer using XMLHttpRequest

我想使用XMLHttpRequest發送一個multipart表單。 我要附加的文件是一個jpg文件。 將文件附加到FormData對象可以正常工作。

但我想在發送之前處理圖像文件。 因此,我有一個庫,它將Uint8Array作為輸入和輸出。 所以我將處理后的圖像作為UInt8Array。

我試着用

form.append("picture", new Blob(fileAsArray, {type: "image/jpg"} ));

但它會創建一個八位字節/流。 那么如何通過XMLHttpRequest multipart / form發送Uint8Array,以便服務器看到與發送文件對象時相同的內容?

請注意,該Blob的構造需要鍵入陣列(或其它來源)作為它的參數的陣列 嘗試

form.append("picture", new Blob([fileAsArray], {type: "image/jpg"} ));

可能它不是對問題的直接回應,但是我已經創建了一個函數來將ArrayBuffer作為文件上傳而不是使用XMLHttpRequest,而是使用fetch。

所以這是我的Javascript Fetch版本:

function uploadArrayBufferRawImage(arraybuffer)
{
    var formData = new FormData();
    formData.append("image",
                     new Blob([arraybuffer], {type: "image/x-myrawformat-raw"}),
                     new Date().toJSON() + ".raw");
    fetch("scripts/store_image.php", {
        method: 'POST',
        body: formData
    }).then(function(resp)
    {
        return resp.json();
    }).then(function(json)
    {
        console.log(json);
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM