收藏
回答

真机录音wxfile://tmp无法上传到服务器?

用开发者工具录音并上传是没有问题的,但是使用真机调试时生成的录音文件与开发者工具的有所不同,上传失败了,是什么原因?需要证明处理?

回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-04-21

    失败的原因是什么?

    2020-04-21
    有用 4
    回复 16
    • ruiup
      ruiup
      2020-04-21
      服务器报了500,不懂为啥
      2020-04-21
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-04-21回复ruiup
      后台写的有问题
      2020-04-21
      回复
    • ruiup
      ruiup
      2020-04-21回复Mr.Zhao
      需要怎么处理才行呢
      2020-04-21
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-04-21回复ruiup
      因为我前后端都会,哪里有问题我自己一个人就解决了。谁开发的接口就找谁。下面三个截图是现写的,真机调试不报错
      2020-04-21
      2
      回复
    • 唏嘘
      唏嘘
      2020-04-21回复ruiup
      服务器报了500   找后台
      2020-04-21
      回复
    查看更多(11)
  • 唏嘘
    唏嘘
    2020-04-21

    贴个上传的代码片段看看

    --↓↓👍点赞是回答的动力哦

    2020-04-21
    有用 3
    回复 12
    • ruiup
      ruiup
      2020-04-21
      用的是腾讯云智能语音插件,识别之后将录音文件和识别结果一块长传:recordingStart() { 
          manager.start({ 
            duration: 10000, 
            engine_model_type: '16k_0' 
          }); 
        }, 
        recordingStop() { 
          manager.stop(); 
        },
      init: function() { 
          var that = this 
          manager.onStart((res) => { 
            console.log('recorder start', res.msg); 
          }) 
          manager.onStop((res) => { 
            console.log(res.result) 
            that.setData({ 
              text: res.result, 
              path: res.tempFilePath 
            }) 
            that.upFile() 
            console.log('recorder stop', res.tempFilePath); 
          }) 
          manager.onError((res) => { 
            console.log('recorder error', res.errMsg); 
          }) 
          manager.onRecognize((res) => { 
            if (res.result) { 
              console.log("current result", res.result); 
              that.setData({ 
                tem_text: res.result 
              }) 
            } else if (res.errMsg) { 
              console.log("recognize error", res.errMsg); 
            } 
          }) 
        },
      2020-04-21
      1
      回复
    • ruiup
      ruiup
      2020-04-21
      wx.uploadFile({ 
            url: app.globalData.uv_t + 'teacher/recordfile', 
            filePath: that.data.path, 
            name: 'file', 
            header: { 
              "Content-Type": "multipart/form-data", 
              Cookie: 'O2O_TUTOR_TOKEN=' + wx.getStorageSync('token') 
            }, 
            method: "POST", 
            formData: { 
             'openid': wx.getStorageSync('openid'), 
              'file': that.data.path, 
              'result': that.data.text
            }, 
            success: function(res) { 
              console.log(res) 
              if (res.data) { 
                wx.showToast({ 
                  title: '录音上传成功', 
                  icon: 'success', 
                  duration: 2500 
                }) 
                if (that.checkTime()) { 
                  that.recordingStart() 
                } else { 
                  that.setData({ 
                    showModalStatus: false 
                  }) 
                } 
              } else { 
                wx.showToast({ 
                  title: '录音上传失败', 
                  icon: 'success', 
                  duration: 2500 
                }) 
              } 
            }, 
            fails: function(res) { 
            } 
          })
      2020-04-21
      回复
    • 唏嘘
      唏嘘
      2020-04-21回复ruiup
      fails: function(res) {
            }   这里的  res  是什么  打印下
      2020-04-21
      回复
    • ruiup
      ruiup
      2020-04-21回复唏嘘
      应该请求是成功的,success里边有打印出res.data
      2020-04-21
      回复
    • 唏嘘
      唏嘘
      2020-04-21回复ruiup
      请求是成功的  为啥服务器报500
      2020-04-21
      回复
    查看更多(7)
登录 后发表内容
问题标签