收藏
回答

iphone6 系统版本10 ,无法上传图片

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug chooseImage,getImageInfo,canvasToTempFilePath 客户端 7.0.3 3.0.5

- 点击上传图片,拍照上传,确认图片后,加载中然后就没有了,没有上传图片


- 应该是打印出返回的data


-

"pages/upPoto/main"


- 提供一个最简复现 Demo

data () {
return {
   imgMaxWidth: 1500,
   imgMaxHeight: 1500

  }

},


methods: {

    getSaoyiSao (id) {

        var taskid = Number(id)

        var that = this

        var FSM = wx.getFileSystemManager()

        wx.chooseImage({

          count: 1, // 默认9

          sizeType: ['compressed'], // 指定只能为压缩图,首先进行一次默认压缩

          sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有

          success: function (photo) {

            wx.getImageInfo({

              src: photo.tempFilePaths[0],

              success: function (res) {

                var imgHeight = 0

                var imgWidth = 0

                var containerRatio = that.imgMaxWidth / that.imgMaxHeight

                var imgRatio = res.width / res.height

                if (imgRatio > containerRatio) {

                  imgWidth = that.imgMaxWidth

                  imgHeight = that.imgMaxWidth / imgRatio

                } else if (imgRatio < containerRatio) {

                  imgHeight = that.imgMaxHeight

                  imgWidth = that.imgMaxHeight * imgRatio

                }

                that.cWidth = Math.min(imgWidth, res.width)

                that.cHeight = Math.min(imgHeight, res.height)

                var ctx = wx.createCanvasContext('canvas')

                ctx.drawImage(res.path, 0, 0, that.cWidth, that.cHeight)

                ctx.draw(false, setTimeout(function () {

                  wx.canvasToTempFilePath({

                    fileType: 'jpg',

                    canvasId: 'canvas',

                    destWidth: that.cWidth,

                    destHeight: that.cHeight,

                    success: function (res) {

                      FSM.readFile({

                        filePath: res.tempFilePath,

                        encoding: 'base64',

                        success: function (data) {

                         console.log(data)

                        }

                      })

                    },

                    fail: function (res) {

                      console.log(res.errMsg)

                    }

                  })

                }, 300))

              }

            })

          }

        })

      }

}

   

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

4 个回答

  • ~~~柯塔屋
    ~~~柯塔屋
    07-16

    请大神们帮我看看,这个为什么iphone没有执行成功,可以拍照,确定照片,但是显示加载中,然后就什么都没有了

    07-16
    赞同
    回复
  • 飞逝¿青春
    飞逝¿青春
    07-16
    tbt
    07-16
    赞同
    回复
  • \
    \
    07-16

    真机测试看看报没报错

    07-16
    赞同
    回复
  • 是柿子啊
    是柿子啊
    07-16

    H5还是小程序?报错信息是什么?

    07-16
    赞同
    回复