微信小程序POST怎么传递FormData格式的数据

微信小程序POST怎么传递FormData格式的数据,第1张

其实直接调用wx.uploadFile方法就可以了,下面以微信小程序内容安全接口HTTPS接口校验一张图片是否违规为例,参数为一张图片

最近被支付宝程序内嵌H5无法上传图片折磨到没脾气,H5本身上传图片没问题,但是嵌套在小程序中就无法上传。

在调试过程中发现可能是formData参数无法传送给后台造成的,试了很多解决方法都不行,最后只能利用web view通信方法以及与支付宝API相结合来解决。

首先,在H5上传图片时调用my.chooseImage方法:

由于在H5中无法使用my.uploadFile方法,所以上传至后台 *** 作需要在支付宝小程序中进行

支付宝小程序接收到路径后,调用my.uploadFile方法进行图片上传

最后,在H5 my.onMessage函数中接收小程序传来的图片地址,进行页面渲染

第一步:获取七牛云token,这步 *** 作很简单,请求七牛云接口即可

getUpToken: function() {

    var url = "resource/getUpToken"

    var header = {

      token : wx.getStorageSync("token")

    }

    var that = this

    network.requestLoading(url,"",header,"",function(data){

      console.log(data)

      that.setData({

        up_token : data.data

      })

    },function(){

    })

  },

第二步:利用upfile API上传文件

wx.uploadFile({

              formData:{token:that.data.up_token}, //这里是请求头部分

              url: 'url',

              filePath: tempFilePaths[i],

              name:"file",

              success:function(data) {

                var res = JSON.parse(data.data)

                var image_keys = that.data.image_keys.concat(res.key)

              }

            })


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11983406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存