有这个一个需求,客户上传的图片都是手机拍摄的工地现场图片很大( 3M+),客户要求上传的速度快点,请问要怎么处理?有什么好的优化方案?

2017 年 1 月 13 日
 xbdsky
补充:图片已前端压缩处理,上传组件是用的 plupload 。
7613 次点击
所在节点    PHP
42 条回复
Syc
2017 年 1 月 13 日
@jarlyyn QuQ 我 MX5 拍一张 2K 照片都几十 M
gdtv
2017 年 1 月 13 日
@jarlyyn 我试过在 iphone 和安卓自带的浏览器里用 cavnas 压缩照片,不行,可能是照片太大。至于出错的现象是什么我忘记了。用小一些的图片就可以。
run2
2017 年 1 月 13 日
@alect tos 吓死人还是 qq 相册
appppap
2017 年 1 月 13 日
分辨率跟格式得考虑,再说大小吧
ibegyourpardon
2017 年 1 月 13 日
之前我们有个需求接近,后来定的方案是一次性拍完了,回公司再统一导入上传。。
wdlth
2017 年 1 月 13 日
4G 也有近 30Mbps 的上行了,买流量卡吧。
kuxiazi
2017 年 1 月 13 日
@shengchao
@wdlth

有些工地比较偏远手机信号很差劲的
alibabamama
2017 年 1 月 13 日
先传一张尽量压缩的预览图,连上 wifi 了再后台默默传清晰的。微信为了用户体验,都提供了预览和查看原图。
jarlyyn
2017 年 1 月 13 日
@gdtv

Canvas 可以调图片大小啊
gdtv
2017 年 1 月 14 日
@jarlyyn 将原始片 load 到 Canvas 的过程中会挂掉,不知是不是图太大了
jiangzhuo
2017 年 1 月 14 日
如果是应用的话比较好办能拿到的权限多。
我曾经做过一个方案就是会开蓝牙和热点,跟附近的其他开蓝牙或者热点的后台运行服务的手机通信,将文件分割成比较小的块,将文件快传递给其它的手机,其他的手机后台服务收到后,通过移动蜂巢网络上传收到的部分,然后服务端在收齐所有部分后组合成原文件。理论上只要手机够多能榨干基站的带宽。
moxiaonai
2017 年 1 月 14 日
前端压缩,异步上传
moxiaonai
2017 年 1 月 14 日
前端压缩,异步上传,安利一个插件 lrz ,之前用过效果很好
jarlyyn
2017 年 1 月 14 日
@gdtv

好奇你的业务逻辑。

做过保修系统。

一般手机的照片, cavans 调整大小再上传,没什么问题啊。

手机拍的照片本来就没 3mb 吧。
NeinChn
2017 年 1 月 14 日
@jarlyyn 我用 3 年前的 Nexus 5 都能拍出 4M 左右的 JPEG...
虽然大部分照片尺寸都在 1M-2M....
这个不好说的....
wohenyingyu02
2017 年 1 月 14 日
直接通过微信上传不就好了?服务器部署 python 用微信库接……
ZE3kr
2017 年 1 月 14 日
让他们发到微信服务号,或者做个客户端,调用 imagemagick 压缩, JPEG 质量 60%-70%,调整分辨率。
jininij
2017 年 1 月 14 日
加个上传进度的提示,或者动画效果,就可以让人主观里等待时间缩短 80%。
realpg
2017 年 1 月 14 日
js 压缩上传。
publicAdmin
2017 年 1 月 14 日
七牛,都不是事!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/334418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX