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

要疯了,疯了。。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_uni-ad_HDX

DCloud_uni-ad_HDX

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

1***@qq.com

兄弟解决了吗?急急急

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