其他分享
首页 > 其他分享> > Vue+express 实现文件上传

Vue+express 实现文件上传

作者:互联网

文件上传

前端 FormData 上传文件

只有 FormData 数据格式,可以直接上传文件

let formData = new FormData() // 实例化一个FormData对象
formData.append('file', file) // 将文件加入FormData对象中
formData.append('username', username) // 将普通数据加入FormData对象中
axios.post('/upload', formData) // axios发起post请求,携带FormData参数
  .then((response) => {
    console.log(response)
  })
  .catch((error) => {
    console.log(error)
  })

后端接收 FormData 数据

安装 multiparty 模块

npm i multiparty

获取FormData数据,响应客户端

app.post('/upload', (req, res) => {
  let form = new multiparty.Form(); // multiparty实例化form
  form.uploadDir = './upload';      //  配置文件存储路径
  form.parse(req,function(err, fields, files) { // 解析FormData
    console.log(files.file[0])      // files 中存储的是文件
    console.log(fields.username[0]) // fields 存储的是普通数据
    // ......操作数据
    res.json({    // 响应客户端
      code:200,
      msg:'上传成功'
    })
  }
})

标签:Vue,console,log,multiparty,FormData,express,上传,formData
来源: https://www.cnblogs.com/guoyanchao/p/16053126.html