0
我已經搜遍網絡尋找這個答案,但我沒有運氣。文件上傳缺少路徑屬性
我想將文件上傳到運行Node JS的服務器並將文件保存在服務器端的任意文件夾中。
一切似乎工作得很好。
我的客戶POST代碼(使用拖放):
var files = event.dataTransfer.files;
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify(files));
服務器端的POST處理程序:
app.post('/upload', function(req, res) {
require('fs').rename(
req.body.path,
'/uploads' + serverPath,
function(error) {
if (error) {
res.send({
error: 'Something bad happened!'
});
return;
}
res.send({
path: serverPath
});
}
);
});
但是服務器端代碼失敗。爲什麼?那麼答案很簡單。在大多數的使用情況我見過,文件path
屬性讀取POST請求,我發送到服務器看起來是這樣的:
{
webkitRelativePath: '',
lastModified: 1429402697000,
lastModifiedDate: '2015-04-19T00:18:17.000Z',
name: 'sample.zip',
type: 'application/zip',
size: 317256
}
我不能在Mac上獲得Chrome瀏覽器進行一個path
屬性。有什麼建議麼?