美文网首页
node file上传

node file上传

作者: 半夜成仙 | 来源:发表于2021-04-11 11:54 被阅读0次

    安装 Multer

    npm install multer --save
    
    const express = require("express");
    const route = express.Router();
    const fs = require("fs");
    const multer = require("multer");
    const uploadMulter = multer({ storage: initMulter() });
    route.post("/api/file/upload",uploadMulter.single("file"),  function (req, res) {
    
      var file = req.file;
      console.log('文件类型:%s', file.mimetype);
      console.log('原始文件名:%s', file.originalname);
      console.log('文件大小:%s', file.size);
      console.log('文件保存路径:%s', file.path);
    res.end("ok")
    });
    
    function initMulter(){
      // 使用硬盘存储模式设置存放接收到的文件的路径以及文件名
    var storage = multer.diskStorage({
      destination: function (req, file, cb) {
          // 接收到文件后输出的保存路径(若不存在则需要创建)
          cb(null, 'upload/');    
      },
      filename: function (req, file, cb) {
          // 将保存文件名设置为 时间戳 + 文件原始名,比如 151342376785-123.jpg
          cb(null, Date.now() + "-" + file.originalname);  
      }
    });
    
    // 创建文件夹
    var createFolder = function(folder){
      try{
          // 测试 path 指定的文件或目录的用户权限,我们用来检测文件是否存在
          // 如果文件路径不存在将会抛出错误"no such file or directory"
          fs.accessSync(folder); 
      }catch(e){
          // 文件夹不存在,以同步的方式创建文件目录。
          fs.mkdirSync(folder);
      }  
    };
    
    var uploadFolder = "./upload";
    createFolder(uploadFolder);
    
    // 创建 multer 对象
    return storage
    }
    
    
    
    module.exports = route;
    
    

    相关文章

      网友评论

          本文标题:node file上传

          本文链接:https://www.haomeiwen.com/subject/xgdakltx.html