wx.uploadFile 卡住了怎么办?
发布于 7 年前 作者 ccui 15111 次浏览 来自 问答

相同的代码,在开发者工具和安卓真机上可以,在 iPhone 6s/Xs 真机上,wx.uploadFile 卡住,success/fail/complete/onProgressUpdate 都不会回调。微信是 7.0.10

代码非常简单,就是标准的调用:

function uploadFile(options, onProgressUpdate) {
  return new Promise((resolve, reject) => {
    const task = wx.uploadFile({
      url: options.url,
      header: options.headers,
      name: options.name,
      filePath: options.filePath,
      formData: options.formData,
      success(res) {
        try {
          resolve(JSON.parse(res.data))
        } catch(e) {
          resolve(res.data)
        }
      },
      fail(e) {
        const error = e.message || JSON.stringify(e)
        resolve({ error, e })
      }
    })

    if (onProgressUpdate) {
      task.onProgressUpdate(res => {
        onProgressUpdate(res)
      })
    }
  })
}

1 回复

更新:真机调试时,也可以正常调用。就是真机单独运行时,死活没有回调回来。

回到顶部