簡體   English   中英

可以將響應設置為ArrayBuffer客戶端,但不能使用Node.js

[英]Can Set Response as ArrayBuffer Client Side but not using Node.js

我有一個使用XMLHTTPResponse的客戶端表單,該表單允許我獲取保存為文件的響應數據。 在其余的blob轉換發生之前,它將響應類型設置為arraybuffer,如下所示:

xhr.responseType = "arraybuffer";

我一直在尋找並找到創建數組緩沖區的多種方法,但是沒有一個詳細說明如何將節點中的響應傳遞給數組緩沖區。 我正在使用unirest,如下所示:

unirest.post('http://myvendorsapi/Upload_PDF')
  .headers({ 'Content-Type': 'multipart/form-data' })
  .field('filename', filename)// Form field
  .attach('file', fileloc)// Attachment
  .end(function (response) {
     console.log(response);
     var returnfile = response.body;
     // Need logic to convert to arraybuffer
  });

如何將響應類型設置為arraybuffer或將響應轉換為arraybuffer?

如果您想獲取更多原始響應數據,我將放棄unirest庫,並使用更薄的東西(例如request) Unirest聲稱可以為您“解析響應”,這聽起來像您不想要的東西。 如果您只想使用請求將原始響應正文保存到文件中,則可以執行以下操作:

var formData = {
    filename: filename,
    file: fs.createReadStream(fileloc)
}
var req = request.post({url: 'http://myvendorsapi/Upload_PDF', formData: formData})
req.pipe(fs.createWriteStream('OUTPUT FILE NAME'))

暫無
暫無

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

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