收藏
回答

三星手机上传图片后,回显不清晰问题

各位大神,帮忙解答:

场景:调用 wx.chooseImage 方法,上传图片获取base64数据后回显在页面中,选择图片时用户可以选择上传原图。

使用设备:测试了多款三星品牌的手机

出现问题:无论选择原图或者选择手机预先拍摄的图片,在浏览器回显出来的图片都会不清晰。导致上传至服务器的图片也会失帧。

备注:微信调用三星手机摄像机时,拍摄的照片是清晰的,但是选择原图后,点击‘确定’,就会造成图片不清晰,此时尚未回显在页面中,也未经过我们自己的代码逻辑处理,所以初步分析是微信压缩了三星手机上传的图片。

不知道各位有没有处理过类型情况?是否可以帮忙解答一下?


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

2 个回答

  • 是小白啊
    是小白啊
    2018-11-29

    其余的机型是否正常?提供下测试代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-11-29
    有用
    回复 3
    • 白金岩
      白金岩
      2018-11-29

      不好意思,公司的测试环境对外网有限制,无法使用其他网络访问,代码如下。有什么问题请随时提出。

      wx.chooseImage({
         count: 9, // 默认9
         sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
         sourceType: sourceType,    // 可以指定来源是相册还是相机,默认二者都有
         success: function (res) {
            var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
       
                    var base64 = "";
       
            if (localIds!=null){
                        var i=0;
                        while (localIds[i])
                        {
                            base64 = localIds[i];
                            if(mode!=null && mode!='' && mode=='server'){
                                    //上传服务端
                                    wx.uploadImage({
                                       localId: localIds[i], // 需要上传的图片的本地ID,由chooseImage接口获得
                                       isShowProgressTips: 1, // 默认为1,显示进度提示
                                       success: function (res) {
                                          var serverId = res.serverId; // 返回图片的服务器端ID
                                          callback(serverId);
                                       }
                                    });
                  }else{
                                    //获取本地
                                    wx.getLocalImgData({
                                       localId: localIds[i], // 图片的localID
                                       success: function (res) {
                                          var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
                                                base64=localData;
                                                if (isIos==0){
                                                    base64='data:image/jgp;base64,'+localData;
                                                }
                                                $('<img>',{
                                                    src:base64
       
                                                }).css({
                                                    width: '334px',
       
                                                }).appendTo($(element));
       
                                          callback(localData);
                                       }
                                    });
                  };
                            i++;
                        };
            };


      2018-11-29
      回复
    • 白金岩
      白金岩
      2018-11-29回复白金岩

      其他测试过的安卓手机均正常,图片清晰,目前只有三星手机会出现这个问题

      2018-11-29
      回复
    • 是小白啊
      是小白啊
      2018-11-29回复白金岩

      https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html,麻烦按照教程提供

      2018-11-29
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-11-29

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

    2018-11-29
    有用
    回复 1
    • 白金岩
      白金岩
      2018-11-29

      请参考上一条评论回复,谢谢帮忙

      2018-11-29
      回复
登录 后发表内容