上一篇关于(Flutter实现一个简单的音视频App(三))我没有录制视频教程,我以为大家喜欢看一些比较简单的UI方面的Flutter视频,后来,我看了下播放记录,关于音视频这块,获得了更多的关注。
所以,从这篇开始,我继续录制视频,关于视频教程的获取,请大家加微信公众号dongda_5g。
先上代码:
@RequestMapping("/list")
@ResponseBody
public Object get(HttpServletRequest req, HttpServletResponse resp) {
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Region.region1());
//...其他参数参考类注释
String bucket = "dynamic-app-public";
Auth auth = Auth.create(accessKey, secretKey);
BucketManager bucketManager = new BucketManager(auth, cfg);
//文件名前缀
String prefix = "";
//每次迭代的长度限制,最大1000,推荐值 1000
int limit = 1000;
//指定目录分隔符,列出所有公共前缀(模拟列出目录效果)。缺省值为空字符串
String delimiter = "";
//列举空间文件列表
BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(bucket, prefix, limit, delimiter);
List<FileInfo> fileInfoList = new ArrayList<FileInfo>();
while (fileListIterator.hasNext()) {
//处理获取的file list结果
FileInfo[] items = fileListIterator.next();
for (FileInfo item : items) {
System.out.println(item.key);
System.out.println(item.hash);
System.out.println(item.fsize);
System.out.println(item.mimeType);
System.out.println(item.putTime);
System.out.println(item.endUser);
fileInfoList.add(item);
}
}
return fileInfoList;
}
看着代码行数挺多的,其实核心代码就下面这一行:
BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(bucket, prefix, limit, delimiter);
其他都是为这行准备的参数,然后结果写入到fileInfoList,稍微了解spring的同学应该知道,@ResponseBody会将fileInfoList转为json,所以,返回给前端的是json数据。
我这里截图下,一个返回的结果的例子,看看跟你那边是否类似:
这个例子的github代码,请参考:https://github.com/jishaofeng89/qiniu_token,如果您有不懂的,请加动哒公众号(dongda_5g),QQ群(174353204),欢迎关注获取技术支持,有任何问题群里都会回复。