express 图片资源上传处理

可以使用 Multer 第三方中间件来处理

图片上传

npm install --save multer

router/user.js

const {verifyToken}  = require('../util/jwt') // 这个在jwt中有做封装
const multer = require('multer')
const upload =  multer({dest:'public/'})  // 指定上传到本地服务器的哪个文件夹位置
const userController = require('../controller/userController') // 用户相关控制器

// 定义一个上传图片的接口路由
router
.post('/headimg',verifyToken(),upload.single('headimg'),userController.headimg)
// ...

controller/userController.js

const fs = require('fs')
const { promisify } = require('util')
const rename = promisify(fs.rename)


// 用户头像上传
exports.headimg = async (req, res) => {
  console.log(req.file);
  // {
  //   fieldname: 'headimg',
  //   originalname: 'mon.ica.jpg',
  //   encoding: '7bit',
  //   mimetype: 'image/jpeg',
  //   destination: 'public/',
  //   filename: '2c715b8b8c9b5786aa423ebcd9f1d983',
  //   path: 'public\\2c715b8b8c9b5786aa423ebcd9f1d983',
  //   size: 161264
  // }

  //获取图片格式后缀名
  var fileArr = req.file.originalname.split('.')
  var filetype = fileArr[fileArr.length - 1]

  try {
    // 默认生成的文件名没有后缀不能进行正常访问,保存的时候重命名一下加上后缀名
    await rename(
      './public/' + req.file.filename,
      './public/' + req.file.filename + '.' + filetype
    )
    res.status(201).json({ filepath: req.file.filename + '.' + filetype })
  } catch (error) {
    res.status(500).json({ err: error })
  }

}

视频上传

视频的需要根据业务需求进行处理,处理起来是比较麻烦的,可以借助第三方工具来进行

比如转换格式,编码问题,视频内容审核和分析,视频防下载

阿里云视频点播服务(VoD)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值