有这个一个需求,客户上传的图片都是手机拍摄的工地现场图片很大( 3M+),客户要求上传的速度快点,请问要怎么处理?有什么好的优化方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xbdsky
V2EX    PHP

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

  •  
  •   xbdsky 2017-01-13 17:09:19 +08:00 7002 次点击
    这是一个创建于 3196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    补充:图片已前端压缩处理,上传组件是用的 plupload 。
    42 条回复    2017-01-16 11:04:26 +08:00
    yunhui
        1
    yunhui  
       2017-01-13 17:19:47 +08:00
    加上七牛近源上传
    shoaly
        2
    shoaly  
       2017-01-13 17:36:41 +08:00
    让他们 通过微信发 , 自动压缩处理
    yikyo
        3
    yikyo  
       2017-01-13 17:49:36 +08:00
    不需要清晰度就把图片压缩一下上传。
    shengchao
        4
    shengchao  
       2017-01-13 17:52:53 +08:00
    拍摄照片,可以对图片进行压缩再上传,自己控制好压缩比例,不是太糊就好,如果他们对这个方案不满意,跟他们说换 4g 卡就好了。
    Rice
        5
    Rice  
       2017-01-13 17:55:04 +08:00 via iPhone
    加速是不可能加速的了,只能靠后台异步上传才能维持得了现在的体验。
    deleted
        6
    deleted  
       2017-01-13 18:00:47 +08:00 via Android
    当然是先本地处理下的好
    cevincheung
        7
    cevincheung  
       2017-01-13 18:01:27 +08:00
    @yunhui
    qiniu +1

    But , 还是受限本地带宽。
    jarlyyn
        8
    jarlyn  
       2017-01-13 18:03:27 +08:00
    cavnas 压下图片啊,很简单的操作。

    手机拍 3m+的图片什么鬼。分辨率明显太高。
    lslqtz
        9
    lslqtz  
       2017-01-13 19:13:18 +08:00
    前端压缩,配合第三方让客户端直接上传。
    spice630
        10
    spice630  
       2017-01-13 20:16:45 +08:00
    @jarlyyn
    3M 还高?高清大图不是 10M 起?
    spice630
        11
    spice630  
       2017-01-13 20:18:22 +08:00
    1.用异步多线程吃满带宽 ~~
    2.压缩后上传
    jarlyyn
        12
    jarlyyn  
       2017-01-13 20:18:58 +08:00
    @spice630

    3mb 不高?

    反正我 a7r2 的图, 4200w 像素也不过 5m 左右。

    抬杠请先注意自己的专业熟练度。
    jarlyyn
        13
    jarlyyn  
       2017-01-13 20:24:24 +08:00
    ericbize
        14
    ericbize  
       2017-01-13 20:24:33 +08:00
    @jarlyyn ??? 6D 2000w 像素一张已经接近 5M 了, 为什么 4200w 也是 5M ?
    spice630
        15
    spice630  
       2017-01-13 20:25:10 +08:00
    @jarlyyn
    你没看见我两句话都是用的问号.
    jarlyyn
        16
    jarlyyn  
       2017-01-13 20:26:01 +08:00
    @ericbize

    前 6d 用户表示。

    6d 的 raw 也不过 20m 左右。请注意自己生成的图片格式。
    ericbize
        17
    ericbize  
       2017-01-13 20:28:41 +08:00
    @jarlyyn 突然记起来了,好像是精细度的设置 , 看来遇到老司机了;记得高中那会,校运会,用了一天 (配 28 ~ 300 ) 手指各种痛,之后就对单反无爱了。
    cevincheung
        18
    cevincheung  
       2017-01-13 20:31:52 +08:00
    webp~
    akira
        19
    akira  
       2017-01-13 20:33:06 +08:00
    线路优化,包括更换 4g ,工地部署 wifi 热点,使用近点机房,对该手机运营商线路更友好的机房等
    数据优化,包括图片压缩,嗯,这个没什么可以处理的点了
    体验优化,包括后台上传,异步上传等

    差不多就这些了吧
    alect
        20
    alect  
       2017-01-13 21:36:18 +08:00
    我不会告诉你让他传 qq 相册的。。。自动压缩,完全够用。。速度还快。。
    Syc
        21
    Syc  
       2017-01-13 22:21:12 +08:00 via Android
    @jarlyyn QuQ 我 MX5 拍一张 2K 照片都几十 M
    gdtv
        22
    gdtv  
       2017-01-13 22:33:09 +08:00
    @jarlyyn 我试过在 iphone 和安卓自带的浏览器里用 cavnas 压缩照片,不行,可能是照片太大。至于出错的现象是什么我忘记了。用小一些的图片就可以。
    run2
        23
    run2  
       2017-01-13 22:35:08 +08:00
    @alect tos 吓死人还是 qq 相册
    appppap
        24
    appppap  
       2017-01-13 22:36:38 +08:00
    分辨率跟格式得考虑,再说大小吧
    ibegyourpardon
        25
    ibegyourpardon  
       2017-01-13 22:37:11 +08:00
    之前我们有个需求接近,后来定的方案是一次性拍完了,回公司再统一导入上传。。
    wdlth
        26
    wdlth  
       2017-01-13 23:09:04 +08:00
    4G 也有近 30Mbps 的上行了,买流量卡吧。
    kuxiazi
        27
    kuxiazi  
       2017-01-13 23:21:03 +08:00
    @shengchao
    @wdlth

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

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

    好奇你的业务逻辑。

    做过保修系统。

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

    手机拍的照片本来就没 3mb 吧。
    NeinChn
        35
    NeinChn  
       2017-01-14 02:07:40 +08:00
    @jarlyyn 我用 3 年前的 Nexus 5 都能拍出 4M 左右的 JPEG...
    虽然大部分照片尺寸都在 1M-2M....
    这个不好说的....
    wohenyingyu02
        36
    wohenyingyu02  
       2017-01-14 02:08:07 +08:00 via iPhone
    直接通过微信上传不就好了?服务器部署 python 用微信库接……
    ZE3kr
        37
    ZE3kr  
       2017-01-14 09:02:58 +08:00 via iPhone
    让他们发到微信服务号,或者做个客户端,调用 imagemagick 压缩, JPEG 质量 60%-70%,调整分辨率。
    jininij
        38
    jininij  
       2017-01-14 10:46:05 +08:00 via Android
    加个上传进度的提示,或者动画效果,就可以让人主观里等待时间缩短 80%。
    realpg
        39
    realpg  
    PRO
       2017-01-14 17:14:22 +08:00
    js 压缩上传。
    publicAdmin
        40
    publicAdmin  
       2017-01-14 21:41:26 +08:00
    七牛,都不是事!
    TaMud
        41
    TaMud  
       2017-01-15 01:31:16 +08:00
    html5 支持断点分传
    利用这个特性加上进度显示
    客户就会觉的 ok 了
    LancerXin
        42
    LancerXin  
       2017-01-16 11:04:26 +08:00
    主要看需求吧,建议不要轻易压缩图片,万一以后用户需要高清原图呢?

    建议异步后台上传,其实用户讨厌的是上传时的进度条,还没有办法取消,让他们很焦躁,做成类似文件同步盘,后台做上传,重传的逻辑.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1058 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 18:32 PVG 02:32 LAX 11:32 JFK 14:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86