收藏
回答

wx.uploadfile报错 fail write error

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.uploadfile 工具 6.7.2 2.2.2


该问题在多个安卓手机和苹果机上均有出现,微信开发者工具可以正常上传图片。。。




uploadImage: function(path, str) {
   var that = this
   wx.showLoading({
     title: '上传图片中...',
   })
   wx.uploadFile({
     url: OSSUrl,
     filePath: path,
     name: 'file',
     formData: {
       'key': 'imagepath_' + path.substring(path.length - 10, path.length),
       'OSSAccessKeyId': OSSInit.access_key_id,
       'policy': OSSInit.policy,
       'signature': OSSInit.signature,
       'callback': OSSInit.callback_body,
       'x:access_token': OSSInit.callback_token,
       'success_action_status': '200',
     },
     success: function(res) {
       console.log('uploadFile',res.data)
       if (res.statusCode == 200) {
         var data = JSON.parse(res.data)
         console.log('上传成功', res)
         that.oss_bucket = data.bucket
         if ("id_face" == str) {
           that.setData({
             front_card_info: data
           })
         } else if ("id_back" == str) {
           that.setData({
             back_card_info: data
           })
         }
         that.checkAndupload()
       } else {
         var title = '图片上传失败,请重新上传'
         if (res.statusCode == 413) {
           title = '图片体积过大,请选择较小图片上传'
         }
         wx.showModal({
           title: '上传失败',
           content: title,
           showCancel: false,
           confirmColor: '#4E8FE7'
         })
       }
       wx.hideLoading()
     },
     fail: function(err) {
       console.log('fail', err)
       wx.showModal({
         title: '上传失败',
         content: '图片上传失败,请重新上传',
         showCancel: false,
         confirmColor: '#4E8FE7'
       })
       wx.hideLoading()
     },
     complete(res){
       console.log('complete', res)
       wx.hideLoading()
     }
   })
 },


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

32 个回答

  • 是柿子啊
    是柿子啊
    2018-08-28

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-08-28
    赞同
    回复 29
    查看更多(24)
  • 魏金海starm
    魏金海starm
    2018-08-31

    在苹果手机上,第一次上传会提示uploadFile:fail 未能连接到服务器  

    wx.uploadFile({

    url: `${configs.card.apiBaseUrl}api/user/upload`,

    filePath: src,

    name: 'url',

    formData: {

    'imgIndex': 'src'

    },

    header: {

    token: Auth.proxy.token.access_token,

    "Content-Type": "multipart/form-data"

    },

    success: function (res) {

    //服务器返回格式: { "Catalog": "testFolder", "FileName": "1.jpg", "Url": "https://test.com/1.jpg" }

    if(res.statusCode == 404){

    wx.hideToast();

    wx.showModal({

    title: '错误提示',

    content: '登录失效,重新上传',

    showCancel: false,

    success: function (res) {

    if(Auth.proxy.token.access_token){

    Auth.refresh(Auth.proxy.token.access_token);

    }

    }

    })


    }else if(res.statusCode == 200){

    _this.imgs.push(JSON.parse(res.data).data)

    console.log(_this.img)

    wx.hideToast();

    _this.cropper = false

    }else if(res.statusCode == 500){

    wx.hideToast();

    wx.showModal({

    title: '错误提示',

    content: '系统错误',

    showCancel: false,


    })

    }

    },

    fail: function (res) {

    console.log(res)

    wx.hideToast();

    wx.showModal({

      title: '错误提示',

      content: '上传图片失败',

      showCancel: false,

      success: function (res) { }

    })

    }

    });

    })


    2018-08-31
    赞同
    回复
  • Link
    Link
    2018-09-25

    这个问题应该是服务端导致,参考

    https://stackoverflow.com/questions/30538640/javax-net-ssl-sslexception-read-error-ssl-0x9524b800-i-o-error-during-system

    2018-09-25
    赞同
    回复