express+multer上传图片打开乱码问题

express+multer上传图片打开乱码问题

  • 原因
  • 解决方法

原因

由于使用multer处理上传图片时,multer存储的是重命名的文件,文件并没有后缀名导致文件无法在服务器直接打开,手动加上后缀名就能打开文件。
如:
express+multer上传图片打开乱码问题_第1张图片

解决方法

引入fs模块将文件重命名存储即可,以下用单文件上传为例:

const fs=require('fs')
router.post('/imageUpload',upload.single('avatar'),function (req, res) {
    console.log(req.file)
    //获取文件后缀名
    var appendName=req.file.originalname.split('.')[1]
    //fs重命名文件,第一个参数为上传文件绝对路径,第二个参数为相对路径
    //第三个参数可选
    fs.rename(req.file.path,`tmp/uploads/${req.file.filename}.${appendName}`,function (err) {
        if (err) throw err
    })
    res.json({msg:'success'})
})

###参考博客

https://blog.csdn.net/xiaodi520520/article/details/85637115

你可能感兴趣的:(express+multer上传图片打开乱码问题)