node file上传

安装 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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容