当前位置: 首页 > 面试题库 >

使用multer上传多个文件,但来自不同的领域?

松茂实
2023-03-14
问题内容

我如何让multer接受来自多个文件类型字段的文件?

我有以下代码,使用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){
    ...
}

通过以下形式,在仅视频字段具有值的条件下(如果同时指定两个字段,则会出现“意外字段”错误):

<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>

从文档中不清楚该如何处理?任何建议,将不胜感激。顺便说一句,我尝试了以下参数变体,但没有成功:

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+node js。multer(1.3.0)。 我得到一个错误:“意外的字段” }); 下面我检查图像和封面 我正在使用邮递员上传图像和pdf,但它在邮递员上失败了,因为它不允许两个文件同时上传。一次只能上传一个文件。

  • 我有一个express应用程序,正在使用multer上传文件,问题是当我在生产服务器上用PM2运行该应用程序时,multer上传文件给了我一个错误:

  • 我正在创建一个简单的应用程序,作为Ionic2的学习体验,它连接到运行multer的节点服务器上传图像。我遇到的问题是,我需要从multer获得最后的文件名回到上传它的应用程序,以保存它在本地。我使用@Ionic/Cloud-Angular中的Auth和User模块进行身份验证和用户信息。User对象有一个details对象,其中包含“name”、“email”、“username”、“image

  • 问题内容: 有没有办法用Flask接收多个上传的文件?我尝试了以下方法: 然后打印内容 如果我上传多个文件,它将仅打印该集中的第一个文件: 是否可以使用Flask的内置上传处理方式接收多个文件?谢谢你的帮助! 问题答案: 你可以使用flask.request.files的方法getlist,例如:

  • 在KeyCloak中可以让一个领域的用户管理另一个领域吗?我的目标是拥有两个领域--adminRealm和UserRalm。在adminRealm中应该是用户,他们将能够登录到我们的管理应用程序,他们可以通过Keycloak rest api创建“普通用户”,这将被放置到UserRealm中。 目前我的解决方案工作在一个领域,在那里我有管理用户,可以登录到我的管理应用程序,在那里他可以在相同的领域

  • 问题内容: 我正在使用multer将文件保存在通过express&nodejs开发的服务器上。 我使用下面的代码。 Multer会为我将文件保存在指定的目标文件夹中。 所有这些都工作正常,但我有以下问题: 如果文件保存由于各种原因而失败,则看来我的路线将始终返回状态204。 我不确定在保存文件后或异步获取文件时是否取消状态204,是否返回状态204。 问题答案: 您可以使用以下选项处理错误: 如果