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

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

有些工地比较偏远手机信号很差劲的
alibabamama
2017-01-13 23:36:40 +08:00
先传一张尽量压缩的预览图,连上 wifi 了再后台默默传清晰的。微信为了用户体验,都提供了预览和查看原图。
jarlyyn
2017-01-13 23:48:57 +08:00
@gdtv

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

好奇你的业务逻辑。

做过保修系统。

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

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

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

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

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

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

© 2021 V2EX