node 上传图片的基本方式

本文介绍了如何使用npm包multer实现文件上传功能,并展示了如何利用MD5进行文件名加密。重点讲解了文件存储路径设置、文件名生成以及使用场景。

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

安装命令 npm i multer
地址:https://www.npmjs.com/package/multer

//utils文件

const crypto = require("crypto")
const multer = require('multer')
const fs = require('fs')
const path = require('path')


function md5(s){
    //注意参数需要为string类型,否则会报错
    return crypto.createHash('md5').update(String(s)).digest('hex');
}
let upload = multer({
    storage: multer.diskStorage({
        // 设置文件存储位置
      destination: function (req, file, cb) {
        let date = new Date()
        let year = date.getFullYear()
        let month = (date.getMonth() + 1).toString().padStart(2, '0')
        let day = date.getDate()
        let dir = path.join(__dirname,'../public/uploads/' + year + month + day)
  
            // 判断目录是否存在,没有则创建
        if (!fs.existsSync(dir)) {
          fs.mkdirSync(dir, {recursive: true})
        }
  
        // dir就是上传文件存放的目录
        cb(null, dir)
      },
        // 设置文件名称
      filename: function (req, file, cb) {
        let fileName = Date.now() + path.extname(file.originalname)
        // fileName就是上传文件的文件名
        cb(null, fileName)
      }
    })
  })
module.exports= {
    md5,
    upload
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端代码の搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值