我正在使用教程,我發現here幫助我找出SailsJS中的文件上傳。在Sails中使用.ejs模板引擎時,我已經能夠獲得上傳文件,但我需要文件上傳才能與RESTapi配合使用。我已經設置了網址爲「http://localhost:1337/file/upload」,我使用的郵差鉻應用發送一個文件到服務器,但響應我得到的回覆是:SailsJS API文件上傳
{
"status": 200,
"file": []
}
當不使用API(內做.ejs模板)我得到以下回應:
{
"status": 200,
"file": [
{
"fd": "path/to/uploaded/file/.tmp/uploads/assets/images/18c60ef7-b176-4375-8789-e0f80de29cea.pdf",
"size": 48541,
"type": "application/pdf",
"filename": "file.pdf",
"status": "bufferingOrWriting",
"field": "uploadFile"
}
]
}
我不確定問題出在哪裏,我沒有將文件傳遞給服務器?或者服務器在收到文件後沒有正確處理文件?
供參考,這是我的控制器代碼:
module.exports = {
upload: function (req, res) {
if(req.method === 'GET')
return res.json({'status':'GET not allowed'});
var uploadFile = req.file('uploadFile');
uploadFile.upload({ dirname: 'assets/images'},function onUploadComplete (err, files) {
if (err) return res.serverError(err);
res.json({status:200,file:files});
});
},
};
在後端你得到的文件??因爲我認爲你沒有得到anyfile!console.log(uploadFile); – vkstack
確保uploadFile.fieldName!=='NOOP_file'!!!! 意味着它uploadFile.fieldName ==='uploadFile' – vkstack
好吧,我安慰了'uploadFile',我得到'fieldName:'NOOP_uploadFile'',這是否意味着我沒有將文件傳遞到服務器?這可能是Postman中的一個設置嗎? – mcneela86