多个file upload多个文件,但从不同的领域?
我怎样才能让多个文件types的字段接受文件?
我有以下代码,使用node.js中的multer上传单个文件:
var storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, './public/uploads'); }, filename: function (req, file, callback) { callback(null, file.fieldname + '-' + Date.now()); } }); var upload = multer({ storage : storage }); app.post('/rest/upload', upload.array('video', 1), function(req, res, next){ ... }
从下面的forms,只有video字段有一个值的条件(如果我指定我得到一个'意外的领域'错误):
<form action="/rest/upload" method="post" enctype="multipart/form-data"> <label>Video file: </label> <input type="file" name="video"/> <label>Subtitles file: </label> <input type="file" name="subtitles"/> <input type="submit"/> </form>
从文档中不清楚如何处理这个问题? 任何build议,将不胜感激。 顺便说一句我已经尝试了以下参数变化,没有成功:
app.post('/rest/upload', [upload.array('video', 1), upload.array('subtitles', 1)] ... app.post('/rest/upload', upload.array('video', 1), upload.array('subtitles', 1), ... app.post('/rest/upload', upload.array(['video', 'subtitles'], 1), ...
你想要的是upload.fields()
:
app.post('/rest/upload', upload.fields([{ name: 'video', maxCount: 1 }, { name: 'subtitles', maxCount: 1 }]), function(req, res, next){ // ... }
你尝试使用multer()。any() ?
- 使用fetch,multer,express将blob数据发送到节点
- 将内存中的文件从Node Express发送到API
- Node.js和Multer – 在callback函数(req,res)中处理上传文件的目的地
- Multer不接受数组格式的文件会导致“Unexpected File Error”
- 节点JS)未定义的图片上传问题
- 如果有人通过节点js应用程序中的multer将扩展名从exe更改为png,则不应允许文件上载
- 如何在新标签中查看图像,而不是使用Multer在NodeJS中下载
- multer数组上传不上传文件,得到一个空数组
- 使用NodeJS和Multer将图像上传到S3。 如何上传整个文件onFileUploadComplete