我已经看到了很多答案,并尝试了几乎所有的答案,但似乎没有一个适合我。我可以将表格数据打印为ASCII字符,但我没有按预期的方式看到存储在public/uploads文件夹中的文件。我可以使用API读取和呈现存储在反应应用程序上的文件,但无法上传它。我没有得到任何错误,一切正常,但没有文件上传到文件夹中。我试图用multer上传文件和下面的代码片段:无法使用多重上传文件
路线/ uploads.js
var storage = multer.diskStorage({
dest : function (req, file, cb) {
cb(null, path.join(__dirname, 'public/uploads/'))
}
});
var upload = multer({storage:storage}) ;
router.post('/upload', upload.single('mypic'), function (req, res, next) {
console.log("inside upload files");
console.log(req.body); //prints non-readable characters as I am uploading image as expected
console.log(req.file); //says undefined
return res.status(204).end();
});
API.js(阵营侧):
export const uploadFile = (payload) => //payload is actually formdata
fetch(`${api}/files/upload`,
{
method: 'POST',
//headers: { 'Content-Type': 'application/json' },
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
body: payload
}
)
.then(res => {
console.log(res);
return res.status;
})
.catch(error => {
console.log(error);
return error;
});
试过了,但它不起作用。它基本上是一个FormData对象。我们可以使用什么标题发送此类数据? –
你是否修改过你的代码?取('$ {} API /文件/ upload', { 方法: 'POST', 体:有效载荷 } – Sagar
是关键表单数据 'mypic' –