nodeJS文件上传的知识点(使用multer中间件来上传)

对于nodeJS的文件上传,我主要说的是post的使用。因为get的传输数据太小,不足以上传文件。我主要说说post的使用。

post上传文件的两种数据:一是纯数据(使用body-parser中间件)来解决就好了。

直接在所创建的服务上使用app.use(bodyParser.urlencode()),然后在req.body上获得数据就可以了。
二是:上传文件(图片,文本,md文件,rar文件,等等)
这个时候我们使用的是multer中间件来达到我们的目的。首先我们来看看怎么使用:
第一步:创建表单上传信息:红色框框的内容必须为这个(上传的形式)


第二步:使用中间件multer,更多详细信息可以查看npm官网的介绍 点击打开链接

大家注意我上面所框的名字,必须和表单中上传的name一直,因为我这里使用的是single模式。如果大家不想写这个,也可以使用any模式。
对于multer的配置,我配置了存放上传文件的位置。这些代码重要的几个地方就是对于文件名字拼接的使用。获取上传文件的后缀,然后拼接上我们上传后文件的路径名字,这样就保证了我们上传文件类型的一致性。我来演示一下:
上传前:

上传后:

打印的数据:框框代表的是新拼接的地址。

文件显示的结果:可以看路径,确实就是我所配置的地方:



好了,更多的是需要大家去实践。与大家共勉吧。把代码放在下面。大家把所有的需要安装的自行安装可以试试。
const express = require("express");
const multer = require("multer");     //解析post文件数据
const fs = require("fs");             //文件模块,用于改文件名字
const pathLib = require("path");      //对路径进行解析

var sever = express();
var objMulter = multer({
    dest: './www/uploder'             //上传的文件地址
});
sever.use(objMulter.single("addFile"));    // 获取的模式,为单一模式(当然还有别的模式,比如any,array,fields)
sever.use('/', function (req, res) {
    
    console.log(req.file);
    var pathNew = req.file.path + pathLib.parse(req.file.originalname).ext;
    console.log(pathNew);
    fs.rename(req.file.path, pathNew, function (err) {
        if (err) {
            res.send("上传失败");
        } else {
            res.send("上传成功");
        }
    });
});

sever.listen(8088);



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值