- 需求的场景描述(希望解决的问题)
原图上传,图片也会被压缩
在上传图片时,不论是选择压缩图,还是选择原图,上传时都会被小程序的压缩。
我的应用场景是必须保证图片为原始图片,不能被压缩、修改。
- 希望提供的能力
wx.chooseImage接口,提供图片上传参数选项,缩放、转换格式等由开发者自定义,而不是小程序内定的图片压缩。 以确保上传的图片为真真正正的原图!
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
小程序 | 需求 | wx.chooseImage | 客户端 | iOS | 6.7.1 | 2.2.1 |
都9012年了,还压缩图片为客户节省流量啊,国家高度重视提速降费,你们这样做是否定国家的成果
已经2020年中了,还是这样
这图片被压缩的简直没法看,导致通过公众号上传图片的功能没法用啊,都快2020年了,这问题还没解决。。。
本来和大多数人的想法一样,用getLocalImgData取localData(base64)转化为Blob上传;首先我们写了方法兼容base64作为测试, 结果如下
5MB -> 原图图片
iOS: 1.9MB(不影响质量)
Android: 370KB (严重影响质量)(而且还需要自己加上data:image/jpeg;base64,)
getLocalImgData这个方法不用注册也可以使用(其他:使用config配置appid这些是可以理解,不是很明白为什么很多方法要注册后使用,因为调用方法也是通过事件的机制通知到Native)
测试手机(微信版本7.0.5)
iPhone 7p -> 12.4系统
HUAWEI NOVA -> 7.0
系统这个问题有一年多了吧,始终没有解决。临时解决就是使用uploadImage,传到微信服务器,再拿过来!!!!感觉很没有必要
公众号开发是会有这个问题,不论iOS和Android;
找了一下资料,发现是chooseImage无论选择的是原图还是压缩图,返回的localData都是压缩文件副本;
折中处理方法:
通过wx-API的uploadImage上传到微信服务器,拿到服务器返回的文件serverId,然后通过wx-API的文件下载链接,根据serverId将图片下载到自己服务器;
需要注意access_token前后端避免冲突;
选择原图,ios下保存的照片好像是压缩的(6sp查看相册文件300kb左右),android下保存的照片是原图(oppo生成图片为1.9mb)
选择压缩,ios下保存的不变(还是300kb左右),android下保存的是压缩的(50kb左右)
希望配置效果保持一致,支持参数可选
2024年5月10了;;还没解决。。。。
2023年11月了;还没解决。。。。
官方可以解决下吗,图片选择原图,还是被压缩得看不清楚。2023 +1
2022年7月27 +1