1***@163.com
1***@163.com
  • 发布:2019-08-29 18:08
  • 更新:1 天前
  • 阅读:8157

先选择图片,前台进行压缩,再上传uploadFile

分类:uni-app

应后台要求,上传得图片不得大于500kb,但我发现拍照或者相册里面的照片普遍大于1M,试用多种方法之后,终于在移动端测试成功,上代码
1.例-------个别参数根据需求而定,本人小白一个,欢迎大家给出更好的建议。

2.首先选择图片,uni.chooseImage,

3.执行uni.uploadFile,上传图片到服务器,(这之前也会有uploadFile:fail timeout,就是因为图片太大的原因),此处要注意同步发送请求,在上传之前,先等压缩执行完成,并返回压缩之后的图片地址,下图中上传成功后的业务代码根据个人需求写

4.最后放上压缩图片代码,写的很详细,结合 plus.zip.compressImage 压缩,新的目标地址区分原图片地址很好用,加上overwrite: true,覆盖生成新文件。总之连我这个小白都研究出来了,感觉还是比较清晰的。
参数意义具体见:http://www.html5plus.org/doc/zh_cn/zip.html#plus.zip.compressImage

5.这是后台打印的信息

3 关注 分享
1***@qq.com 3***@qq.com w***@163.com

要回复文章请先登录注册

1***@163.com

1***@163.com (作者)

回复 本社区最菜 :
单位是字节
1 天前
t***@foxmail.com

t***@foxmail.com

回复 元谷 :
有同感。 uni.compressImage 和plus.zip.compressImage,哪个效果更好?
2021-10-01 12:11
w***@163.com

w***@163.com

很高
2021-08-31 12:20
元谷

元谷

有点脱裤子放屁,多此一举。
首先,使用了 sizeType: ["compressed"] 已经非h5上面是有效的。而且uni提供了
uni.compressImage(OBJECT)

参考https://uniapp.dcloud.io/api/media/image?id=compressimage
2021-08-31 11:58
本社区最菜

本社区最菜

你好,请问下file.size > 504800的单位是什么。我上传1.09M的图片返回file.size 是142345
2020-12-09 17:32
MonikaChen

MonikaChen

回复 j***@126.com :
H5用canvas压缩
2020-10-31 23:26
风云杭州

风云杭州

要把 dst 换成应用沙盒目录,知道怎么做吗
2020-10-31 20:26
9***@qq.com

9***@qq.com

plus.io.resolveLocalFileSystemURL,ios报错,提示不可读怎么办
2020-07-21 23:27
tingtingzouzou

tingtingzouzou

这么多代码都是截图,不能复制吗,好难受呀
2020-05-22 08:57
j***@126.com

j***@126.com

不适合h5平台呀。
2020-03-22 23:38