nodejs学习 multer

body-parser用来解析文字内容 对于上传文件则需要用到一个新的模块multer

body-parser在html中使用的application/x-www-form-urlencode

multer 在html中 enctype="mulipart/form-data"

首先安装multer

    npm install multer

引入multer

    multer=require("multer")

使用

server.use(multer({dest:"./上传文件夹的目录"}).any())

                    两个函数any()可以上传任何文件

                            和single("f1")用来指定上传文件的名字

显示上传的文件

        req.files 显示为数组 第一个为上传的文件

        fileldname

        originalname 原来文件名

        mimetype 编码方式

        destination

        filename

        path 所在地址

        size 大小

由于上传之后系统会将文件的名字改成一个随机的名字 这时需要将文件重新命名

    需要使用一个fs模块的rename函数

    const fs = require("fs");

    fs.rename("原始文件名","新名字",回调函数)

获取原始文件扩展名

   path模块 解析文件路径

const path = require("path")

    base文件名

    ext:扩展名

    dir路径

    name文件名不包含扩展名

    新文件名 = req.files[0].path+path.parse(req.files[0].originalname);


在一般服务器中一般multer和body-parser均使用,两者配合使用

   const multer = require("multer");

    const = bodyParser = require("body-parser");

    server .use(bodyParser.urlencoded(extended:false));

    server.use(multer({dest:"./upload"}).any());

    


    

    

        



你可能感兴趣的:(nodejs学习 multer)