在上传图片时主要是客户端将图片的二进制文件通过文件上传接口上传到服务器,服务器存储文件并返回文件地址,这里我们们主要是实现图片上传接口
实现
图片上传主要分为
- 上传到服务器
- 上传到阿里云对象存储oss
上传到服务器
路由
//上传中间件
const multer = require('multer')//上传npm i multer
const uplod = multer({ dest: __dirname + '/../../uplodes' })
router.post('/uplod', uplod.single('file'), function (req, res) => {
const file = req.file
file.url = `http://localhost:3000/uplodes/${file.filename}`
console.log(file)
res.send(file)
})
index.js加入
//静态文件文件
app.use('/uplodes',express.static(__dirname+'/uplodes'))//图片目录
上传到阿里云对象存储oss
const multer = require('multer')//上传npm i multer
const MAO = require('multer-aliyun-oss');//npm install --save multer-aliyun-oss
const uplod = multer({
storage: MAO({
config: {//填写自己阿里云oss的详细内容
region: 'oss-cn-hangzhou',//地址
accessKeyId: 'ooooooooo',//accessKeyId
accessKeySecret: 'oooooooooo',//accessKeySecret
bucket: 'guoang'//用户名
}
})
router.post('/uplod', uplod.single('file'), function (req, res) => {
const file = req.file
file.url = `http://oss.guoang.xyz/${file.filename}`
console.log(file)
res.send(file)
})