Node.js 如何将文件数组发送到express后端
我正在尝试向我的后端发送一组图像,然后用multer-s3上传它们。我通过react将它们发送到node express后端。当我从前端提交时,它是一个提交图像数组的过程,如下所示: 图片:[文件(3195869){名称:“IMG-example.JPG”,lastModified:1514505624000,lastModifiedDate:Thu Dec 28 2017 17:00:24 GMT-0700(MST),webkitRelativePath:,大小:3195869,},…] 但是当我在后端记录req.body时,它返回[{}、{}、{}、{}、…]并且req.files是未定义的 为什么文件不能通过post请求发送出去???本节对此进行了解释^^Node.js 如何将文件数组发送到express后端,node.js,reactjs,express,file-upload,multer-s3,Node.js,Reactjs,Express,File Upload,Multer S3,我正在尝试向我的后端发送一组图像,然后用multer-s3上传它们。我通过react将它们发送到node express后端。当我从前端提交时,它是一个提交图像数组的过程,如下所示: 图片:[文件(3195869){名称:“IMG-example.JPG”,lastModified:1514505624000,lastModifiedDate:Thu Dec 28 2017 17:00:24 GMT-0700(MST),webkitRelativePath:,大小:3195869,},…] 但是
app.post('/photos/upload', upload.array('photos', 12), function (req, res, next) {
// req.files is array of `photos` files
// req.body will contain the text fields, if there were any
})
就像express js所说:
在Express 4中,req对象上的req.files不再可用
默认值。要访问req.files对象上上载的文件,请使用
多部分处理中间件,如busboy、multer、Forbible、,
多方、连接多方或pez。“
对于您来说,这是一个很好的教程,其中有一部分您希望上载多个文件:我使用了npm的express form post,发现它非常有用。您可以在某些for循环或sumn中使用Object.key(req.files[index])访问该文件数组,并在..之后使用它们执行任何操作。。。。。它与s3非常兼容。。。表单字段中的name属性是键,其他元数据(文件大小、原始名称等)是该键随附的数据我本想将其作为问题的一部分,但req.files也未定义。请尝试查看此问题:(以及最新答案:)。就像express js所说的:“在express 4中,默认情况下req.files在req对象上不再可用。要访问req.files对象上上传的文件,请使用多部分处理中间件,如busboy、multer、Foremble、multiparty、connect multiparty或pez。”好的,所以我认为我的问题是,我不是直接从输入上传,而是将照片存储在一个商店中,然后在最后一步,我尝试将照片发送到s3,multer正在寻找输入名称,但当用户点击submit时,它们不是来自输入。谢谢你的帮助!