我可以使用multer和单个html格式将许多文件上传到不同的文件夹中吗?

菲力波1980

我正在尝试开发一个模块,该模块应从单个html表单上载文件。想象一个包含两个文件的表单:
1)用户的头像;
2)简历相同的用户。
我会在/ avatar中上传第一个文件,在/ cv中上传第二个文件。

我可以使用这三种方法:

.array('input file name');
.fields([{ name: 'avatar'},

{name:'curriculum'}]); 任何()

第一个可以接受许多文件,但是它必须具有相同的字段名称;
第二个文件接受许多文件,并且可以传递名称(我认为这对我来说应该是正确的道路);
第三个接受所有文件,它们都是我在html表单上设置的所有名称。好吧,它工作正常,但问题是我不知道如何为每个文件设置不同的文件夹!

上次审判是:

app.route('/upload').post(.upload(fileObj1).array('avatar'),upload(fileObj2).array('curriculum'),function (request, response, next) {

但它返回:

错误:意外字段

问题不在代码的其他部分,因为如果我启动以下代码:app.route('/ upload')。post(.upload(fileObj1).array('avatar'),function(请求,响应,下一个) {

传递单个文件,它可以正常工作!有人可以帮我吗?

菲力波1980

我解决了自己!这不是我的完美解决方案(它适用于目标,文件名和文件类型,但不适用于maxsize和文件),但是,我想共享我的代码:

在app.js中,我创建了一个像这样的对象:

var obj = {目标:{input-name1:'./ uploads',input-name:'./ uplds'},文件名:{input-name1:'file1',input-name2:'file2'},FieldNameSize:未定义,fieldSize:未定义,field:未定义,fileSize:{输入名称1:2 * 1024 * 1024,输入名称2:10 * 1024 * 1024},文件:{输入名称1:3,输入名称2:1},零件:未定义,文件类型:{input-name1:“ jpeg,jpg”}};

并在rules_upload.js中:

var path = require('path'); var multer = require('multer'); var defaultMaxSize = 3 * 1024 * 1024; var defaultFiles = 1;

exports.upload =函数(obj,下一个){var upld = {}; var storage = {}; var limit = {}; for(obj中的键){switch(key){case'destination':storage.destination = function(request,file,cb){cb(null,obj.destination [file.fieldname]); }; 休息; 案例'filename':storage.filename = function(request,file,cb){if(obj.filename [file.fieldname]!= undefined){nome = obj.filename [file.fieldname]; if(nome == undefined)nome = file.originalname.substring(0,file.originalname.lastIndexOf(“。”));

                nome+=file.originalname.substring(file.originalname.lastIndexOf('.'),file.originalname.length);

} else nome = file.originalname.split('/')。pop()。trim();

cb(null, nome);
        };
        break; 

案例'FieldNameSize':limits.fieldNameSize =函数(request,file,cb){if(obj.fieldNameSize [file.fieldname]!= undefined)cb(null,obj.fieldNameSize [file.fieldname]); 否则返回cb(null,true); }; 休息; 案例'fieldSize':limits.fieldSize =函数(request,file,cb){if(obj.fieldSize [file.fieldname]!= undefined)cb(null,obj.fieldSize [file.fieldname]); 否则返回cb(null,true); }; 休息; case'fields':limits.fields =函数(请求,文件,cb){if(obj.fields [file.fieldname]!= undefined)cb(null,obj.fields [file.fieldname]); 否则返回cb(null,true); }; 休息; 案例'fileSize':limits.fileSize =函数(request,file,cb){if(obj.fileSize [file.fieldname]!= undefined)cb(null,obj.fileSize [file.fieldname]); 否则返回cb(null,true); }; 休息; 案例'文件':limits.files =函数(请求,文件,cb){if(obj.files [file.fieldname]!= undefined)cb(null,obj.files [file.fieldname]); 否则返回cb(null,true); }; 休息; 情况'parts':limits.parts =函数(请求,文件,cb){if(obj.parts [file.fieldname]!= undefined)cb(null,obj.parts [file.fieldname]); 否则返回cb(null,true); }; 休息; case'filetypes':upld.fileFilter = function(req,file,cb){if(obj.filetypes [file.fieldname]!= undefined){var f = obj.filetypes [file.fieldname]; f = f.replace(“,”,“ |”); var re = new RegExp(f); var mimetype = re.test(file.mimetype); var extname = re.test(path.extname(file.originalname).toLowerCase()); if(mimetype && extname){返回cb(null,true); } cb(“ Sono Accettate solo le seguenti estensioni:” + obj.filetypes [file.fieldname]); } else return cb(null,true); }; 休息; }} if(存储。filename == undefined)storage.filename =函数(请求,文件,cb){nome = file.originalname.split('/')。pop()。trim(); cb(null,Date.now()+“ _” + nome); }; if(limits.fileSize == undefined)极限.fileSize = defaultMaxSize; / * var maxSize = l.maxSize; limitsfileSize =函数(请求,文件,cb){if(file.size>(maxSize)){cb(null,true); } else {cb(“ Il file nonpuòpesarepiùdi” + maxSize +“ MB”); }; * / upld.storage = multer.diskStorage(存储); upld.limits =限制;

返回multer(upld).any();

};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用FileSystemObject使用其索引从文件夹中获取单个文件吗?

来自分类Dev

我可以使用Nautilus将文件拖放到加密的文件夹中吗?

来自分类Dev

在“多文件上传”中,将单个文件上传到PHP的新文件夹中

来自分类Dev

我可以使用批处理脚本取消隐藏单个文件夹或文件吗?

来自分类Dev

如何将pdf文件和图像文件上传到flask中的不同上传文件夹?

来自分类Dev

我可以使用父文件夹的名称重命名文件夹中的文件吗?

来自分类Dev

我可以使用fread下载文件夹中的所有文件吗?

来自分类Dev

google-drive-ruby:将文件上传到文件夹复制文件夹和根路径中的文件

来自分类Dev

使用 react/express/multer 上传文件夹中的文件

来自分类Dev

无法使用PHP将文件上传到文件夹

来自分类Dev

无法使用文件上传将图像上传到node.js中的特定文件夹

来自分类Dev

我可以使用 CORS 来限制该域中的域和子文件夹吗?

来自分类Dev

Laravel 4,Ubuntu,Apache,我将文件上传到一个文件夹中

来自分类Dev

如何使用blobstore和Google云存储将文件上传到AppEngine中的自定义文件夹

来自分类Dev

如何使用Google Drive API和Python将文件上传到特定文件夹?

来自分类Dev

使用 Laravel 5.8 将图像上传到两个不同的文件夹位置

来自分类Dev

将图片上传到文件夹

来自分类Dev

我可以使用Powershell基于.CSV文件重命名子文件夹中的文件吗

来自分类Dev

将图像上传到Spring MVC中的文件夹

来自分类Dev

如何在multer中指定目标以将图像上传到节点js中的远程服务器文件夹?

来自分类Dev

使用PHP将图片上传到文件夹

来自分类Dev

使用jqueryajax将图像上传到文件夹

来自分类Dev

使用boto3将文件上传到S3中的特定文件夹

来自分类Dev

使用android SDK将文件直接上传到存储桶中的文件夹

来自分类Dev

使用android SDK将文件直接上传到存储桶中的文件夹

来自分类Dev

Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

来自分类Dev

如何使用OneDrive API将文件上传到OneDrive上的共享文件夹中?

来自分类Dev

Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

来自分类Dev

使用PHP将文件上传到错误的文件夹中

Related 相关文章

  1. 1

    我可以使用FileSystemObject使用其索引从文件夹中获取单个文件吗?

  2. 2

    我可以使用Nautilus将文件拖放到加密的文件夹中吗?

  3. 3

    在“多文件上传”中,将单个文件上传到PHP的新文件夹中

  4. 4

    我可以使用批处理脚本取消隐藏单个文件夹或文件吗?

  5. 5

    如何将pdf文件和图像文件上传到flask中的不同上传文件夹?

  6. 6

    我可以使用父文件夹的名称重命名文件夹中的文件吗?

  7. 7

    我可以使用fread下载文件夹中的所有文件吗?

  8. 8

    google-drive-ruby:将文件上传到文件夹复制文件夹和根路径中的文件

  9. 9

    使用 react/express/multer 上传文件夹中的文件

  10. 10

    无法使用PHP将文件上传到文件夹

  11. 11

    无法使用文件上传将图像上传到node.js中的特定文件夹

  12. 12

    我可以使用 CORS 来限制该域中的域和子文件夹吗?

  13. 13

    Laravel 4,Ubuntu,Apache,我将文件上传到一个文件夹中

  14. 14

    如何使用blobstore和Google云存储将文件上传到AppEngine中的自定义文件夹

  15. 15

    如何使用Google Drive API和Python将文件上传到特定文件夹?

  16. 16

    使用 Laravel 5.8 将图像上传到两个不同的文件夹位置

  17. 17

    将图片上传到文件夹

  18. 18

    我可以使用Powershell基于.CSV文件重命名子文件夹中的文件吗

  19. 19

    将图像上传到Spring MVC中的文件夹

  20. 20

    如何在multer中指定目标以将图像上传到节点js中的远程服务器文件夹?

  21. 21

    使用PHP将图片上传到文件夹

  22. 22

    使用jqueryajax将图像上传到文件夹

  23. 23

    使用boto3将文件上传到S3中的特定文件夹

  24. 24

    使用android SDK将文件直接上传到存储桶中的文件夹

  25. 25

    使用android SDK将文件直接上传到存储桶中的文件夹

  26. 26

    Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

  27. 27

    如何使用OneDrive API将文件上传到OneDrive上的共享文件夹中?

  28. 28

    Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

  29. 29

    使用PHP将文件上传到错误的文件夹中

热门标签

归档