原图上传,图片也会被压缩
发布于 6 年前 作者 wyang 19989 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

原图上传,图片也会被压缩

在上传图片时,不论是选择压缩图,还是选择原图,上传时都会被小程序的压缩。

我的应用场景是必须保证图片为原始图片,不能被压缩、修改。

  • 希望提供的能力

 wx.chooseImage接口,提供图片上传参数选项,缩放、转换格式等由开发者自定义,而不是小程序内定的图片压缩。 以确保上传的图片为真真正正的原图!

10 回复

你好,你的反馈我们已收到,我们会在后续的版本中考虑增加类似功能。

这图片被压缩的简直没法看,导致通过公众号上传图片的功能没法用啊,都快2020年了,这问题还没解决。。。

公众号开发是会有这个问题,不论iOS和Android;

找了一下资料,发现是chooseImage无论选择的是原图还是压缩图,返回的localData都是压缩文件副本;

折中处理方法:

通过wx-API的uploadImage上传到微信服务器,拿到服务器返回的文件serverId,然后通过wx-API的文件下载链接,根据serverId将图片下载到自己服务器;

需要注意access_token前后端避免冲突;

用手机录制了一段上传过程:

屏幕录像:原图上传,图片也会被压缩

服务器上,接收到上传的图片大小:

选择图片时,就已经被压缩了。

  1. 本来和大多数人的想法一样,用getLocalImgData取localData(base64)转化为Blob上传;首先我们写了方法兼容base64作为测试, 结果如下


  2. 5MB -> 原图图片

    1. iOS: 1.9MB(不影响质量)

    2. Android: 370KB (严重影响质量)(而且还需要自己加上data:image/jpeg;base64,)

    3. getLocalImgData这个方法不用注册也可以使用(其他:使用config配置appid这些是可以理解,不是很明白为什么很多方法要注册后使用,因为调用方法也是通过事件的机制通知到Native)

    4. 测试手机(微信版本7.0.5)

      1. iPhone 7p -> 12.4系统

      2. HUAWEI NOVA -> 7.0

  3. 系统这个问题有一年多了吧,始终没有解决。临时解决就是使用uploadImage,传到微信服务器,再拿过来!!!!感觉很没有必要

你好,请问你的这个问题解决了么

我开始是好的,后面强制压缩,设置原图也没有这个选项,为什么要限制这么死,我这个工具需要原图啊

选择原图,ios下保存的照片好像是压缩的(6sp查看相册文件300kb左右),android下保存的照片是原图(oppo生成图片为1.9mb)

选择压缩,ios下保存的不变(还是300kb左右),android下保存的是压缩的(50kb左右)

希望配置效果保持一致,支持参数可选

都9012年了,还压缩图片为客户节省流量啊,国家高度重视提速降费,你们这样做是否定国家的成果

没有收到过类似的反馈。chooseImage 设置 sizeType 为 original 应该就是原图,提供一下原始图片和使用 chooseImage 上传后得到的图片的对比。

回到顶部