微信小程序上传文件400

直接上示例问题代码

wx.uploadFile({
          url: 'https://' + domain + '/post/upload/cover/test',
          filePath: tempFilePaths[i],
          name: "multipartFile",
          formData: {
            type: "4"
          },
          header: {
            "content-type": "multipart/form-data",
            // "Host": domain
          },
          success: function (res) {
            console.log(res)
            // 先获取结果集的
            // files/img-files/1/e2102802-6f16-45af-b926-9d0b4c2cc5d3/cover.png
            // console.log(JSON.parse(res.data).data.data)
            var strs = JSON.parse(res.data).data.data.split('/')
            var uuid = strs[strs.length - 2]
            console.log(uuid)

              // wx.showToast({
              //   title: "上传成功",
              //   icon: "none",
              //   duration: 1500
              // })
 
              that.data.imgs.push(JSON.parse(res.data).data)
 
              that.setData({
                imgs: that.data.imgs
              })
            
          },
          fail: function (err) {
            wx.showToast({
              title: "上传失败",
              icon: "none",
              duration: 2000
            })
          },
          complete: function (result) {
            console.log(result.errMsg)
          }
        })

如上所示 应该是没什么问题,请求地址使用localhost本地端口也没问题。
但是使用花生壳内网穿透后,用花生壳给的域名就出现400问题,尝试通过花生壳访问swagger也没问题。
对比了请求信息,发现请求头的参数很多没有,而swagger有host,Origin等请求头,应该就是请求头缺乏的问题,尝试添加了Host请求头后, 成功上传了。

将请求头添加上Host即可解决

Host就是主机的意思,比如url是 https://abc.def.com/uploadfile 的话,domain就是 abc.def.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值