node.js使用multiparty上传文件

Posted IT民工梅西布莱恩特

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js使用multiparty上传文件相关的知识,希望对你有一定的参考价值。

multiparty使用:multiparty文档 https://www.npmjs.com/package/multiparty

下面介绍一下利用formData向后台提交图片的过程:

写在前面的话:

1.实例中前端使用的是vue.js,不过并不影响上传思路.
2.后台通过multiparty来解析formData

step1:先来看一看前端上传部分的代码:

这是我写的一个上传图片的组件,这里并没有进行图片压缩处理(我们可以用canvas来进行图片压缩,自行搜索下即可)。

这一段其实也很好理解,就是将图片的formData传到后台去处理。

step2:后台安装multiparty插件:

 

npm install multiparty

 

step3:后台处理获取上传的图片:

我们创建一个uploadImg.js用来专门对上传的图片进行处理,我们通过post localhost:3000/uploadImg来上传图片

前面介绍过对路由分模块处理:https://www.cnblogs.com/lewis-messi/p/9087258.html

 1 /**
 2  * 管理员模块uploadImg.js
 3  * @authors lewis
 4  * @date    2018年5月23日10:13:29
 5  * @description 上传图片
 6  */
 7 
 8 
 9 var express = require(\'express\');
10 var multiparty = require(\'multiparty\');
11 var router = express.Router();
12 var util = require(\'../utils\');
13 
14 router.post(\'/\', function(req, res) {
15     var form = new multiparty.Form();
    //这里可以设置图片上传的路径,默认为当前用户下的temp文件夹
16 form.uploadDir = util.getRootDir() + "/static/img"; 17 form.parse(req, function(err, fields, files) { 18 //files即为上传图片的信息 19 }); 20 }); 21 22 module.exports = router;

以下是files的一些信息:

当然拿到这些信息后,可以将文件进行下一步处理(更名):

 

 



以上是关于node.js使用multiparty上传文件的主要内容,如果未能解决你的问题,请参考以下文章

nodejs+multiparty 文件上传

使用formidable & multiparty实现文件上传

multiparty

multer,multiparty和connect-multiparty + Nodejs之间的区别

在 Backand 如何从 node.js 操作上传文件?

node+express4实现简单文件上传