说明:
1.后台安装 multer模块,同时引入fs模块
2.router.js入口文件导入模块
复制代码
const fs=require('fs')
const multer=require('multer')
3.创建uploads文件夹存储图片
4.配置静态资源
实现代码
复制代码
const express = require('express')
const router = express.Router()
const multer = require('multer')
const fs = require('fs')
const path = require('path')
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads')
},
filename: function (req, file, cb) {
console.log('----', file)
let exts = file.originalname.split('.')
let ext = exts[exts.length - 1]
let tmpname = (new Date()).getTime() + parseInt(Math.random() * 9999)
cb(null, `${tmpname}.${ext}`);
}
});
var createFolder = function(folder){
try{
fs.accessSync(folder);
}catch(e){
fs.mkdirSync(folder);
}
};
var uploadFolder = './public/uploads';
createFolder(uploadFolder);
var upload = multer({
storage: storage
});
router.post('/api/uploadImg', upload.single('file'), (req, res) => {
console.log(req.file)
let {
size,
mimetype,
path
} = req.file
let types = ['jpg', 'jpeg', 'png', 'gif']
let tmpType = mimetype.split('/')[1]
if (size > 500000) {
return res.send({
err: -1,
msg: '尺寸过大'
})
} else if (types.indexOf(tmpType) == -1) {
return res.send({
err: -2,
msg: '媒体类型错误'
})
} else {
let url = `/public/uploads/${req.file.filename}`
res.send({
err: 0,
msg: 'ok',
img: url,
name: file.originalname
})
}
})
module.exports = router
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)