node express 使用multer实现图片上传接口(上传到服务器和上传到阿里云对象存储oss)

本文详细介绍如何使用multer中间件在本地服务器及阿里云OSS上实现图片上传接口,包括配置、路由设置及返回文件地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上传图片时主要是客户端将图片的二进制文件通过文件上传接口上传到服务器,服务器存储文件并返回文件地址,这里我们们主要是实现图片上传接口

实现

图片上传主要分为

  1. 上传到服务器
  2. 上传到阿里云对象存储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)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值