收藏
回答

关于wx.uploadfile失败问题?

我贴下两用方式的代码,用node方式就可以上传,微信uploadfile就不可以,请老师帮看看,谢谢

 uploadBusiMaterial() {
    let that = this
    console.log(that.data.files[0])
    wx.uploadFile({
      filePath: that.data.files[0],
      header: { 
        'Content-Type': 'multipart/form-data'
      },
      method: 'POST',
      name: 'name',
      url: 'http://192.168.3.41:9000/proxy/upload',
      formData: {
        'uid': '3336',
        'type': 'doc',
        'folder_name': '个人网盘'
      },
      success(res) {
        console.log(res)
      }
    })
  },


Node方式
let form = new FormData()
form.append('file', fs.createReadStream(path))//'file'是服务器接受的key
form.append('uid','3336')
form.append('type','doc')
form.append('folder_name', '个人网盘')

// let boundaryKey = '----' + new Date().getTime()    // 用于标识请求数据段
let options = {
    host: '192.199.32.106', // 远端服务器域名
    port: 44, // 远端服务器端口号
    method: 'POST',
    path: '/WebDiskServerDemo/upload', // 上传服务路径
    headers: form.getHeaders()
}
console.log(form.getHeaders())
let req = http.request(options, function(res){
    res.setEncoding('utf8')

    res.on('data', function(chunk) {
        console.log('body: ' + chunk)
    })

    res.on('end', function() {
        console.log('res end.')
    })
})
form.pipe(req)


最后一次编辑于  2021-05-11
回答关注问题邀请回答
收藏

2 个回答

  • 杨君易
    杨君易
    2021-05-11

    改成name:'file',试试


    2021-05-11
    有用 1
    回复 2
    • 安稳
      安稳
      发表于移动端
      2021-05-11
      好的,我试试
      2021-05-11
      回复
    • 安稳
      安稳
      发表于移动端
      2021-05-11
      name 改成file好使了
      2021-05-11
      回复
  • Z
    Z
    2021-05-11

    看一下报什么错误信息呐

    2021-05-11
    有用
    回复 4
    • Z
      Z
      2021-05-11
      还有这个
      2021-05-11
      回复
    • 安稳
      安稳
      发表于移动端
      2021-05-11
      服务端没问题
      2021-05-11
      回复
    • Z
      Z
      2021-05-11回复安稳
      这个是name 传的参数名!
      2021-05-11
      回复
    • Z
      Z
      2021-05-11回复Z
      要是不行 你可以吧 uploadFile 的fail也打印一下看是否有报错信息
      2021-05-11
      回复
登录 后发表内容