2
我發送的$http.post
請求從Angular.js到的Node.js爲了得到一個ArrayBuffer
如下:
$http.post('/api/scholarships/load/uploaded-files', Global.user, {responseType:'arraybuffer'}).success(function(ab){
console.log(ab); // Return ArrayBuffer {}
});
然後,在Node.js的,我取回上傳的文件數據和變換Buffer
對象ArrayBuffer
對象:
exports.loadUploadedFiles = function(req, res) {
db.UserFile.findAll().success(function(files) {
var buffer = files[0].dataValues.data; // Get buffer
var arrayBuffer = new ArrayBuffer(buffer.length); // Start transforming Buffer to ArrayBuffer
var views = new Uint8Array(arrayBuffer);
for(var i = 0; i < buffer.length; ++i) {
views[i] = buffer[i];
}
res.type('arraybuffer');
res.send(arrayBuffer); // Send the ArrayBuffer object back to Angular.js
}).error(function(err) {
console.log(err);
res.sendStatus(500);
});
};
當我試圖打印從上面$http.post
的反應,我總是得到ArrayBuffer{}
。我做錯了什麼?任何幫助,將不勝感激。
我正要發佈:)參考:[express.js文檔](http://expressjs.com/api.html#res.send); res.send()允許發送字符串或緩衝區 – gengkev
感謝您的回覆。當我將它作爲Buffer傳輸時,我得到了一個JavaScript對象。是否有可能將此對象轉換爲Angular.js中的ArrayBuffer? – lvarayut
你得到了什麼類型的Javascript對象?此外,緩衝區包含什麼類型的數據(即它是JSON)? – ekcr1