收藏
回答

Android 真机上传录音文件失败

问题模块
客户端


公司名称


MP帐号(邮箱)

yli@leancloud.rocks

开发者微信号


机型(如iPhone 6s plus)

红米 Pro

操作系统(如iOS 9.3)

Android 6.0

是否必现

出现时间

17-02-06

操作路径(即如何操作可以复现该问题)

使用 wx.startRecord 录音,成功后将临时文件使用 wx.uploadFile 上传到七牛。


在 IDE 与 iOS 真机上均成功,在 Android 真机上失败,抛如下「异常」:

{
 crossDomain: true,
 method: "POST",
 url: "https://up.qbox.me"
}


问题描述(具体问题介绍)


问题截图(客户端问题界面截图)


代码片段截图

wx.startRecord({

 success: function (res) {

   //临时路径,下次进入小程序时无法正常使用

   var tempFilePath = res.tempFilePath

   console.log(tempFilePath);

// AV.File 是文件上传的抽象,会调用 wx.uploadFile,在其他情况下均能正常工作

   new AV.File('filename', {

     blob: {

       uri: tempFilePath,

     },

   }).save().then(function(file){

     console.log(file.url());

   }).catch(console.error);

 },

 fail: function (res) {

   //录音失败

   wx.showModal({

     title: '提示',

     content: '发言姿势不对!',

     showCancel: false,

     success: function (res) {

       if (res.confirm) {

         console.log('用户点击确定')

         return

       }

     }

   })

 }

});





最后一次编辑于  2017-02-06  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

7 个回答

  • 李叶
    李叶
    2017-02-06

    wx.startRecord 换成选择图片接口上传图片也能成功。

    2017-02-06
    赞同
    回复
  • Special
    Special
    2017-02-06

    先去掉 AVFile 对 uploadFile 的封装,直接调用 wx.uploadFile 上传看看?看这个 error object 不像是微信抛出的



    2017-02-06
    赞同
    回复
  • 李叶
    李叶
    2017-02-08

    谢谢。

    @Special 确实这个异常不是微信抛的原始异常。在 wx.uploadFile 的 fail 回调中加了日志:



    2017-02-08
    赞同
    回复
  • 灵魂机器
    灵魂机器
    2017-02-09

    @李叶  最后你怎么解决的?我现在上传图片也是一模一样的问题,{crossDomain:true, method: "POST", url: "https://up.qbox.me"}

    2017-02-09
    赞同
    回复
  • 王永林
    王永林
    2017-02-18

    @李叶 我遇到你这一模一样的报错



    一直找不到问题的解决办法,求解~


    ios和模拟器都OK,android不行,感觉android在上传直接就报错了,连服务器都没请求到

    2017-02-18
    赞同
    回复
  • 张彬
    张彬
    2017-02-27

    求救,我也是,压根没有请求

    2017-02-27
    赞同
    回复
  • 张彬
    张彬
    2017-02-27

    @李叶,你那个调用成功了吗,我这边还是不行,能告诉我你是怎么解决的吗

    2017-02-27
    赞同
    回复