博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NodeJS+axios上传图片
阅读量:2577 次
发布时间:2019-05-11

本文共 1704 字,大约阅读时间需要 5 分钟。

前端js部分

changeEvent (e) {   ------  //change事件方法   let oFile = e.target.files[0]  ------  //获取文件对象   let param = new FormData()  ------  //new一个formData   param.append('file', oFile, oFile.name)   ------  //将文件添加到formdata中   param.append('chunk', '0')    let config = {          headers: {'Content-Type': 'multipart/form-data'}    }   this.axios.post('/api/upload/upavatar?username=' + username, param, config) ------//传输数据          .then(response => {            if (response.data.data === 1) {  ------ //成功后的回掉              let instance = Toast({                message: '头像更改成功'              })              setTimeout(() => {                instance.close()              }, 1000)            }          })}

  

NodeJS部分

需要引入formidable、path模块

router.post('/upavatar', function (req, res, next) {  var form = new formidable.IncomingForm()  form.uploadDir = path.normalize(__dirname + '/../public/images/avatar') ------图片上传目录  form.parse(req, function (err, fields, files) {    var oldpath = files.file.path    var newpath = path.normalize(__dirname + '/../public/images/avatar') + '\\' + req.query.username + '.png'    -------//给上传的图片重命名    fs.rename(oldpath, newpath, function (err) {      if (err) {        res.send('-1')        return      }      if (newpath) {        let avatarPath = 'server/public/images/avatar/' + req.query.username + '.png'  ------//存入数据库的图片地址(相对于页面)        db.updateMany('users', {'username': req.query.username}, {$set: {avatar: avatarPath}}, function (err, result) {  ------//更新数据库的头像地址          if (err) {            res.send('-2')            return          }          res.json({data: 1})        })      }    })  })})

  

转载于:https://www.cnblogs.com/wangxiayun/p/8116896.html

你可能感兴趣的文章
被LCD调戏睡不着了
查看>>
Linux 5.7 将支持国产 RISC-V 芯片 K210
查看>>
[芦半山]Binder的异常机制
查看>>
我和蓝牙BT,BLE有一腿
查看>>
该死的装修
查看>>
被该死的Openssl编译嘲讽了一个下午
查看>>
暴力修改SElinux权限
查看>>
camera-open-log
查看>>
让这个该死的服务跑起来了~
查看>>
LinuxGPIO操作和MTK平台GPIO
查看>>
Linux cpu亲和力
查看>>
C语言指定初始化器解析及其应用
查看>>
安卓9.0添加服务修改SELinux
查看>>
深入理解Linux内核链表
查看>>
Linux一定需要文件系统吗?
查看>>
手机是怎么确定位置信息的?
查看>>
使用Adobe Audition生成基本音频
查看>>
思必驰算法库录音日志~
查看>>
苹果uwb定位技术
查看>>
为什么需要超出48K的音频采样率,以及PCM到DSD的演进
查看>>