123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const multer = require('multer');
- const config = require("./config.js");
- const utils = require("./index");
- //上传的文件保存在 upload
- const storage = multer.diskStorage({
- //存储的位置
- destination(req, file, cb){
- cb(null, config.fileSite);
- },
- //文件名字的确定 multer默认帮我们取一个没有扩展名的文件名,因此需要我们自己定义
- filename(req, file, cb){
- let math=Math.random();
- math=math.toString().replace(".","");//随机字符串
- cb(null, `${Date.now()}${math}-${file.originalname}`)
- }
- });
- //传入storage 除了这个参数我们还可以传入dest等参数
- let upload = multer({
- storage
- }).array(config.fileName);
- //上传总函数
- let fileEvent=(req,res)=>{
- return new Promise((resolve,reject)=>{
- upload(req, res, function (err) {
- if (err) return res.send(utils.returnData({code:-1,msg:"上传文件错误~",req,err}));
- try{
- //循环处理
- let imgPath=[];
- req.files.forEach(function (i) {
- const regex = /^(.+)\.[^.]+$/;
- const regexRes = i.originalname.match(regex);
- let name="";
- if (regexRes) name=regexRes[1];
- //获取临时文件的存储路径
- imgPath.push({url:`${config.fileHost}/${i.filename}`,name,originalname:i.originalname,filename:i.filename});
- // console.log("i.path:",i.path)
- });
- resolve(imgPath)
- }catch(err){
- res.send(utils.returnData({code:-1,msg:"上传文件错误~",req,err}));
- }
- });
- });
- };
- module.exports=fileEvent;
|