express + multer 实现文件上传(一)-- 基本上传

express框架,实现文件上传主要用到了 multer 插件

准备工作:

创建一个express项目,并支持html,教程请转至 nodejs+express+pm2 搭建服务器

安装依赖:

npm install --save multer

开始编码:

1、routers 文件夹下新建 upload.js 文件

const express = require('express');
const router = express.Router();
const multer = require('multer');

let upload = multer({
    storage: multer.diskStorage({
        destination: function (req, file, cb) {
            cb(null, './uploads/');
        },
        filename: function (req, file, cb) {
            var changedName = (new Date().getTime())+'-'+file.originalname;
            cb(null, changedName);
        }
    })
});

//单个文件上传
router.post('/single', upload.single('singleFile'), (req, res) => {
    console.log(req.file);
    res.json({
        code: '0000',
        type: 'single',
        originalname: req.file.originalname,
        path: req.file.path
    })
});

//多个文件上传
router.post('/multer', upload.array('multerFile'), (req, res) => {
    console.log(req.files);
    let fileList = [];
    req.files.map((elem) => {
        fileList.push({
            originalname: elem.originalname
        })
    });
    res.json({
        code: '0000',
        type: 'multer',
        fileList: fileList
    });
});

module.exports = router;

2、在项目根目录下创建 uploads 文件夹 

express + multer 实现文件上传(一)-- 基本上传_第1张图片

3、app.js 引入改文件并使用

//引入路由
const multerUpload = require('./routes/upload');
//使用路由
app.use('/upload', multerUpload);

4、在 views 文件夹下 创建 index.html





    
    
    
    Document



    
    
单个文件上传
多个文件上传
可多次点击添加按钮,并预览

5、启动服务即可

 

你可能感兴趣的:(nodejs)