微信公众号的问题!分机型chooseImage上传图片变形?oppo和vivo都会,其他机子正常
使用微信jssdk官方提供的上传图片的接口,把图片显示在页面上,就会出现图片变形?
<div class="container">
<div class="page-header">
<form id="uploadForm" enctype='multipart/form-data'>
<div class="form-group">
<div class="fileinput fileinput-new" data-provides="fileinput" id="exampleInputUpload" style="width: 100%">
<div class="fileinput-preview fileinput-exists thumbnail" style=" display: block" id="selectImg" onclick="layer_demo();">
<img id='picImg' style="width: 100%;height: auto;" src="../images/noimage.png" alt="" />
</div>
<div>
<span class="btn btn-primary btn-file" style="display: none">
<!--<span class="fileinput-new">选择图片</span>-->
<!--<span class="fileinput-exists">换一张</span>-->
<input type="file" name="file" id="file" accept="image/*" capture="user" />
</span>
<!--<a href="javascript:;" class="btn btn-warning fileinput-exists" data-dismiss="fileinput">移除</a>-->
</div>
</div>
</div>
<!--<button type="button" id="uploadSubmit" class="btn btn-info">提交</button>-->
</form>
</div>
</div>
function layer_demos() {
wx.chooseImage({
count: 1, // 默认9
sizeType: ['compressed'], // 指定是原图还是压缩图,默认都有
sourceType: ['album', 'camera'], // 指定来源是相册还是相机,默认都有
success: function(res) {
var localId = res.localIds[0]; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
console.log(res)
wx.getLocalImgData({
localId: localId, // 图片的localID
success: function(res) {
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
// console.log(localData)
if (localData.indexOf('data:image') != 0) {
//判断是否有这样的头部
localData = 'data:image/jpeg;base64,' + localData
}
localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
//第一个替换的是换行符,第二个替换的是图片类型,因为在IOS机上测试时看到它的图片类型时jgp,
//这不知道时什么格式的图片,为了兼容其他设备就把它转为jpeg
$("#picImg").attr('src', localData)
}
});
}
});}
这个是上传之后显示在页面的图这个是原图,明细可以看到被压缩变形了,这个是怎么回事呢,其他机型不会出现这个问题,华为,苹果都不会,求官方大大马上看看这个是怎么回事