如何实现OSS云文件的长尾词分页查询功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计963个文字,预计阅读时间需要4分钟。
前言+目前项目开发中上传功能很多都是使用云存储,其好处太多这里就不列举了。但是上传成功后,有些功能场景下需要对存储桶内的文件进行管理。自然,把历史文件列表展示出来。
前言
目前项目开发中上传功能很多都是使用云存储,其好处太多这里就不列举了。但是在上传成功后,有些功能场景下需要对存储桶内的文件进行管理。自然把历史的文件列表展示出来就很有必要了。然后有列表就有分页,云存储又不像本地存储直接读文件夹就可以,所以我想了两种方法来解决。
方法
1. 将上传的文件返回的地址都存到数据库中,取列表就分页的读表返回。
2. 使用OSS文档的文件列举方法,好处是不用建表等等,所以下面以这种方式演示。
说明
Oss的SDK中提供一个方法listObjects,接收两个参数($bucket, $options)。分别表示存储桶名,基本参数集。$options是个数组,里面又有$prefix,$delimiter,$nextMarker,$maxkeys,参数描述见如下。
$prefix是自己在存储桶下存放文件的文件夹路径,做分页最主要的是$nextMarker,$maxkeys这两个参数。一个是文件的起点就相当于分页start,一个是每次列举的最大个数就相当于page_size。
思路
实现这个分页是不带页码下拉式加载,所以不存在可以点击返回上一页,主要从$nextMarker,$maxkeys开始。
1. getNextMarker()方法获取上一次列举文件的标识,没有为空窜,有则返回上一次列表最后的那个文件路径。
本文共计963个文字,预计阅读时间需要4分钟。
前言+目前项目开发中上传功能很多都是使用云存储,其好处太多这里就不列举了。但是上传成功后,有些功能场景下需要对存储桶内的文件进行管理。自然,把历史文件列表展示出来。
前言
目前项目开发中上传功能很多都是使用云存储,其好处太多这里就不列举了。但是在上传成功后,有些功能场景下需要对存储桶内的文件进行管理。自然把历史的文件列表展示出来就很有必要了。然后有列表就有分页,云存储又不像本地存储直接读文件夹就可以,所以我想了两种方法来解决。
方法
1. 将上传的文件返回的地址都存到数据库中,取列表就分页的读表返回。
2. 使用OSS文档的文件列举方法,好处是不用建表等等,所以下面以这种方式演示。
说明
Oss的SDK中提供一个方法listObjects,接收两个参数($bucket, $options)。分别表示存储桶名,基本参数集。$options是个数组,里面又有$prefix,$delimiter,$nextMarker,$maxkeys,参数描述见如下。
$prefix是自己在存储桶下存放文件的文件夹路径,做分页最主要的是$nextMarker,$maxkeys这两个参数。一个是文件的起点就相当于分页start,一个是每次列举的最大个数就相当于page_size。
思路
实现这个分页是不带页码下拉式加载,所以不存在可以点击返回上一页,主要从$nextMarker,$maxkeys开始。
1. getNextMarker()方法获取上一次列举文件的标识,没有为空窜,有则返回上一次列表最后的那个文件路径。

