七牛云用下来的心得,和坑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
supersheep
V2EX    分享发现

七牛云用下来的心得,和坑

  •  
  •   supersheep 2013-07-14 23:38:31 +08:00 19533 次点击
    这是一个创建于 4555 天前的主题,其中的信息可能已经有所发展或是发生改变。
    功能还在开发中,不过先把心得体会,主要还有踩到的坑分享出来一点是一点。东西是很好的,服务也是很热心的,不过可能大概人手不够吧,有些文档似乎已经过时了,所以我是看着蝉游记的请求还有官方sdk的源代码才弄对的。

    大致流程呢,是通过你的app生成一个token,client拿这个token去上传,然后七牛会从这个token得到一些信息,然后再把这些信息交还给你的app。

    大家看这个文档 http://docs.qiniu.com/api/put.html#upload-api
    里面写了要上传到up.qiniu.com,带上token和key,key就是文件名

    但是我照着这个做死活不对,提示scope not specified之类的。
    结果发现蝉游记也好,官方sdk的后端上传也好,里面用的都不是这个接口,而是up.qiniu.com/upload

    参数是auth(值是token)和action(包含了以“/”分隔的键值对,值以base64加密,大概会是这个样子: /rs-put/VHJpcFBob3RvOjUzODYyLzEzNzM4MTMwMTI4ODlwMTd2ZXE1dWM4MXExbTY4czFsZjgxZmUzMWF1dTIuanBn/mimeType/aW1hZ2UvanBlZw==/rotate/0


    sdk里的代码(至少python sdk是的)并没有把生成action的方法独立出来,因为文件传到后端,该取到的文件名啊mimetype你都能取到了,直接上传就好了。

    不过大多数时候,都是客户端直接传七牛的服务器会更加有效率一点,就会用到swfuploader之类的,那就要自己在客户端把这段逻辑实现一下了。目前看七牛好像没提供这样的sdk,我慢点做成模块就来一发,大家也可以自己搞不是很麻烦的样子,base64算法什么的也有现成的 http://mshang.ca/base64-js/

    大概就是这样啦。
    12 条回复    2015-06-27 21:37:24 +08:00
    dtynn
        1
    dtynn  
       2013-07-15 19:18:24 +08:00
    我的应用也是采用客户端直传,但是多做了一个接口给前端获取token,似乎没有遇到token发面的问题。
    wingoo
        2
    wingoo  
       2013-07-15 19:29:32 +08:00
    客户端直传有没可能被人拿到token随便上传?
    swiming
        3
    swiming  
       2013-07-16 10:19:27 +08:00
    七牛的文档是没有及时更新,折腾了很久之后,终于可以直接上传新接口up.qiniu.com了。不过客户端直传这种方式有个问题就是,你很难对上传内容做校验,比如文件大小,格式,上传次数等等。希望他们可以在token里面加入这些配置。
    supersheep
        4
    supersheep  
    OP
       2013-07-16 13:17:36 +08:00
    @swiming 话说 up.qiniu.comup.qiniu.com/upload 到底哪个是新接口啊?你是怎么上传的呢?

    token拿到随便用感觉现在好像没掐,只不过token生成的时候有个expire,获取token是走自己的应用的,这里可以适当掐一下。
    swiming
        5
    swiming  
       2013-07-16 14:57:18 +08:00
    你说的那两个可能就是同一个接口吧。up.qbox.me/upload,这个才是老接口,域名都不一样,这也是蝉游记现在用的。我用的就是官方的SDK,不过里面没有新接口的Token生成代码,需要自己实现一下,记得加上escape = 1这个参数,不然新接口没法回调成功。我现在也是尽量把token的expire设短一点,方便控制。
    oklqh
        6
    oklqh  
       2013-07-16 15:46:15 +08:00
    我想问,七牛好在哪?
    supersheep
        7
    supersheep  
    OP
       2013-07-16 16:39:04 +08:00
    @swiming 嗯嗯,自己实现的时候看的文档是哪个呢?
    swiming
        8
    swiming  
       2013-07-17 09:39:59 +08:00
    citydog
        9
    citydog  
       2013-07-17 11:07:37 +08:00
    惭愧惭愧,说好的给人家写使用体验的,好几个月了也没写...
    supersheep
        10
    supersheep  
    OP
       2013-07-21 21:09:46 +08:00
    今天和七牛的小哥对了一下,发现是自己装sdk的时候api还在老版本,现在已经是新的了。目前的版本是v6。
    no13bus
        11
    no13bus  
       2014-08-01 17:07:26 +08:00
    @supersheep 给你发了封邮件。嘻嘻。有点事要麻烦您。
    pke
        12
    pke  
       2015-06-27 21:37:24 +08:00
    我也在用 没问题,就是不知道怎么设置多个browse_button
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1261 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 16:48 PVG 00:48 LAX 08:48 JFK 11:48
    Do have faith in what you're doing.
    ubao msn 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