收藏
回答

wx.uploadFile中formdata传不到后台?

文件上传代码:

var this_ = this

wx.uploadFile({

url: 'http://172.*.*.*.1:8080/***',//内网本地后台

filePath: this_.data.file_path[0][0],

header: {

'content-type': 'application/x-www-form-urlencoded'

},

name: 'file',

formData: {

method:'POST',

ticket: "****",

wxxcx:'****',

fileName:'****',

fileTpye:'jpg',

fileWjsm:'****'

},

success(res) {

const data = res.data

console.log(res)

//do something

},

fail(res){

console.log(res)

}

})

请求截图:

前台发送的里面没有关于formdata传入的参数。

后台断点调试截图:

接收全是null。

求助!

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

5 个回答

  • Falsen
    Falsen
    11-29

    现在问题已解决,通过Fiddler抓包发现,formdata是已经发送了的,我自己测试的时候,header改成其他,抓包下来数据还是以formdata的形式发送的。

    然后我这边后台的过滤器是接收不到formdata形式的参数,但是将参数放在url后面发送的话就能接收到。

    11-29
    赞同
    回复
  • Tommy
    Tommy
    11-29

    大哥解决了吗

    11-29
    赞同
    回复 1
    • Falsen
      Falsen
      11-29
      已解决。
      11-29
      1
      回复
  • .
    .
    11-27

    小程序后台设置 允许上传文件。

    11-27
    赞同
    回复 2
    • Falsen
      Falsen
      11-27
      后台设置里,全部翻了一遍,没有找到。
      11-27
      回复
    • .
      .
      11-27回复Falsen
      就叫小程序uploadFile设置 再仔细找找
      11-27
      回复
  • 马哥
    马哥
    11-27

    是不是存在跨域问题?

    11-27
    赞同
    回复 5
    • Falsen
      Falsen
      11-27
      我是在微信开发者工具里面,把不校验合法域名那个选项勾上了,这样是否还会发生跨域问题的?
      11-27
      回复
    • 马哥
      马哥
      11-27回复Falsen
      将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data,看看是不是 content-type指定的问题
      11-27
      回复
    • Falsen
      Falsen
      11-27
      昨天试过,还是不行
      11-27
      回复
    • 马哥
      马哥
      11-27回复Falsen
      去掉headers试试。
      11-27
      回复
    • Falsen
      Falsen
      11-27
      11-27
      回复
  • 老张
    老张
    11-26

    别有method吧?

    11-26
    赞同
    回复 1
    • Falsen
      Falsen
      11-27
      去掉也还是这样,method是我百试无果过程中加上的。
      11-27
      回复
问题标签