关于七牛批量下载空间文件

  我的项目是一个比较大的工程,前端可以理解为安卓客户端,服务端是采用JFinal这个框架。这个框架的作者是我很欣赏的技术大牛@JFinal 。我在这里极力推荐那些进行服务端或是API开发的同学或是工作者,采用这个框架进行开发,因为它会给你一种极速的体验,用过之后请自觉对比一下用JFinal与用struts之间的区别,这个谁用谁知道。Jfinal官网:http://www.jfinal.com 开发中遇到这种问题都可以请教@JFinal ,和蔼可亲,平易近人。不过个人建议简单的那些问题例如配置出错什么的还是自行解决,大的费解的问题可以直接骚扰@JFinal ,没有问题的,本人亲测!哈哈。。。然后我再推荐一下七牛云,如果你开发的项目需要存储大量的文件,我个人真心推荐七牛云,官网:http://www.qiniu.com ,本人在七牛的使用中遇到了问题,然后去论坛发帖,第二天就收到了七牛技术支持人员的电话,大家可以自行体会本人当时的激动心情。

  废话少说,直接进入正题:

  1.我的项目干什么?

  用户利用安卓客户端在多个topic下上传文件,服务端将这些音频文件进行重命名(TopicId + UserId + 随机6位数 + .文件格式)上传到七牛云下指定的空间(bucket),后期我需要根据文件的文件名进行指定URL下载。


  2.遇到的问题:

  七牛java-sdk没有提供批量下载文件的API接口,这样的话,就需要先得到制定空间下的文件列表信息,在这里,我只需要得到文件的Key就可以了。因为此时批量下载的实现就是需要知道文件的URL地址,一般就是domain+文件名(Key).185323_iTvL_2297997.png

  接着,我写了如下的一个action:

185746_8iHl_2297997.png

  结果得到这样的结果:

185832_3crC_2297997.png

185923_xkPx_2297997.png

返回的json竟然是空的!!!但是在后台可以打印出来,这就奇了怪了!于是,我做了如下操作:

190020_MjCf_2297997.png

因为我意识到这应该是七牛ListItem的问题,于是想转化成普通常用熟悉的List,但是结果还是:

190208_iAdw_2297997.png


  3.解决问题:

于是google 七牛的java-sdk的API文档,竟然没有找到。扣了一下脑袋之后,想了想,这个ListItem里有那么几个字段,我直接取出我想要的字段(Key)不就得了,于是我改写了一下action:

190505_kMht_2297997.png


直接取key值add进空的list,这个字段是String类型,得到的结果:

190657_ICCk_2297997.png

浏览器上显示:

190657_O5cH_2297997.png

再看看七牛空间里的文件:

190854_2cPa_2297997.png

这样子,得到文件的Key,然后直接根据domain + Key 的URL下载这个文件。我现在还不清楚,JFinal的renderFile(URL)可以解决这个批量下载的不?以我的记忆里来看,应该够呛。

  最后,感谢JFinal + 七牛云存储!

转载于:https://my.oschina.net/chrishellowoo/blog/413400

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值