dc19901212
dc19901212
  • 发布:2019-01-28 02:04
  • 更新:2019-04-26 16:56
  • 阅读:5189

要疯了,疯了。。canvasToTempFilePath 在H5和微信端表现不一样。。。

分类:uni-app

有个需求是用户上传自己的头像,这个页面是用咱们uniapp的helloworld模板中的例子修改来的。核心的话就是下面的代码

					uni.canvasToTempFilePath({  
						x: canvasL,  
						y: canvasT,  
						width: canvasW,  
						height: canvasH,  
						destWidth: canvasW,  
						destHeight: canvasH,  
						quality: 0.6,  
						fileType:'jpg',  
						canvasId: 'myCanvas',  
						success: function (res) {  
							console.log(res)  
							uni.hideLoading()  
							// 成功获得地址的地方  
							_this.$emit('imgUrl',res.tempFilePath)  
// 							uni.previewImage({  
// 								current: '', // 当前显示图片的http链接  
// 								urls: [res.tempFilePath] // 需要预览的图片http链接列表  
// 							})  
						}  
					});

在H5端,修改那个fileType为jpg不生效,一直是png格式的,输出永远都是data:image/png;base64,*****************,。

同样的代码,运行在小程序端返回是src就完全是另一种格式:http://tmp/wxeeeb398fe746a5dd.o6zAJs2wBxDyW_RXdAmROkmsNwuY.bpIQusdCU9ild5c52cd256c752c024f9210e849ae7ee.jpg

这样的。。。不是base64的了,这要怎么玩啊。。头大死了。

2019-01-28 02:04 负责人:无 分享
已邀请:
dc19901212

dc19901212 (作者) - 风尘之中,必有性情中人

有人回答一下嘛。。。这都怎么玩的。。。

yorick

yorick

官方的hello uniapp h5 裁剪示例safari里也有问题 希望能尽快修复

dc19901212

dc19901212 (作者) - 风尘之中,必有性情中人

难道没人有图像剪裁的需求吗。。。啊啊啊

5***@qq.com

5***@qq.com

我也发现了这个问题,而且在H5端quality属性设置了没变化....,100k的图片被压缩到了1M多,我特么也是醉了

7***@qq.com

7***@qq.com

用小程序端使用它们提供的接口转换一下,转成base64

弹一尘

弹一尘 - app全栈开发

h5端获取的base64 无效的是空白透明图片

DCloud_uniAD_HDX

DCloud_uniAD_HDX

  1. H5 浏览器限制,只能输出base64
  2. 以后会支持jpg和app/小程序平台保持一直,可以先写成jpeg(w3c标准)
  3. 没有像素空白透明图片问题请提供测试代码
1***@qq.com

1***@qq.com

兄弟解决了吗?急急急

该问题目前已经被锁定, 无法添加新回复