收藏
回答

wx.chooseImage的相机模式的bug

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.chooseImage 客户端 iOS wechat 6.6.5 1.0


需求:

       通过点击上传照片按钮(提供两种模式:1、从相册获取图片;2、拍照获取图片),实现获取照片后,照片以及照片的文字说明(也就是代码中的userInfo数据)能够显示在小程序页面上。


问题:

       从相册获取图片的方式,是可以实现图片和文字展示在页面上的,但是拍照获取图片的方式,不能实现 上述效果(偶尔可以显示),数据是采用setData刷新的,页面也绑定了userInfo数据,现在不知道为什么拍照的方式出现的问题。


测试手机:iphone 6plus


核心代码:

  index.js

Page({

   data: {

       motto: '上传靓照',

       userInfo: {}

   },

//事件处理函数

uploadImage: function() {

   var that = this

   wx.chooseImage({

    success: function(res) {

       var tempFilePaths = res.tempFilePaths

       console.log(res);

       wx.showToast({

           title: '鉴定中,请稍候',

           icon: 'loading',

           duration: 2000

       })

       that.setData({

           userInfo: {

           //填充人脸识别界面的图片

           imageUrl: tempFilePaths[0],

           tips: '人脸识别中...'

           }

       })

   }

})

},

onLoad: function () {

   console.log('onLoad')

}

})


index.wxml

<view class="container">

   <view class="userinfo">

       <image class="userinfo-avatar" mode="aspectFit" src="{{userInfo.imageUrl}}" background-size="cover">image>

   <text class="userinfo-tips">{{userInfo.tips}}text>

   view>

   <view class="usermotto">

       <button class="button" type="primary" bindtap="uploadImage">{{motto}}button>

   view>

view>


index.wxss

/**index.wxss**/

.userinfo {

display: flex;

flex-direction: column;

align-items: center;

}


.userinfo-avatar {

max-width: 400rpx;

max-height: 400px;

margin: 20rpx;

}


.userinfo-tips {

color: #aaa;

}


.usermotto {

position:fixed;

bottom: 20px;

}


.button{

background:#00e5ff !important;

}


效果图:

1、选择拍照的方式



2、从相册框里选择图片,可以显示图片信息和文字信息


3、用相机拍照,显示不出图片信息和文字信息



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

1 个回答

  • 夏,夏
    夏,夏
    2018-03-16

    急求呀,求大佬告知,以上代码可直接运行

    2018-03-16
    赞同
    回复