javascript - 从节点客户端到节点服务器的多个文件上传
问题描述
嗨,我正在运行一个带有 multer 的节点服务器来上传多个文件。
const multer = require('multer');
const app = express();
const upload = multer({dest:'uploads/'});
const SERVER_PORT = 8080;
app.listen(SERVER_PORT,()=>{
console.log("Server listening")
})
app.post('/upload/bak', upload.array('file'), (req,res)=>{
console.log(JSON.stringify(req.files[0]))
// console.log("Files uploaded: " + req.files.reduce((prev,current)=>{
// console.log(JSON.stringify(prev))
// }))
res.end(JSON.stringify({
status:"complete"
}));
})
现在我可以postman
使用form-data
post
请求并选择多个文件来发布多个文件(存储在系统上)。
我在这里尝试完成的是使用另一个节点应用程序来完成它(最好使用axios
and streams
,这样如果文件很大,它们就不会占用所有内存)。
如何将多个流放入formdata
并发布,以便上述应用程序能够处理它?
请帮忙!
解决方案
您可以使用 FORMDATA 上传。
const formData = new FormData();
formData.append('avatar',file)
return await axios.post(this.UPLOAD_ENDPOINT, formData,{
headers: {
'content-type': 'multipart/form-data'
}
});
阅读更多:https ://www.techiediaries.com/react-formdata-file-upload-multipart-form-tutorial/