All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.guang19.cosservice.template.objecttemplate.COSObjectTemplate Maven / Gradle / Ivy

There is a newer version: 1.0.3
Show newest version
package com.github.guang19.cosservice.template.objecttemplate;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
 * @author yangguang
 * @date 2020/2/3
 * @description 

* COS对象操作模板 *

*/ public interface COSObjectTemplate { /** *

* 获取当前存储桶下的所有对象的key,返回的对象包括目录和文件 * 返回的对象数量限制为1000 *

* @return 对象key集合 */ public List getAllObjects(); /** *

* 查询拥有相同前缀key的所有对象的key,返回的对象包括目录和文件 *

* @param keyPrefix 对象key前缀,如: img/ , file/upload/ , file/img/upload , file/img/upload/jquery.js(如果keyPrefix为文件,那么仅仅会返回这个文件) * @return 对象key集合 */ public List getAllObjectsWithKeyPrefix(String keyPrefix); /** *

* 获取当前存储桶下的所有文件名 *

* @return 文件名集合 */ public List getAllFileNames(); /** *

* 查询拥有相同前缀key的所有文件名 *

* @param keyPrefix 文件key前缀,如: img/ , file/upload/ , file/img/upload , file/img/upload/jquery.js(如果keyPrefix为文件,那么仅仅会返回这个文件) * @return 文件名集合 */ public List getAllFileNamesWithKeyPrefix(String keyPrefix); /** *

获取所有文件的key

* @return 文件key集合 : img/a.jpg , img/a/b/c.jpg , d.jpg */ public List getAllFileKeys(); /** * 获取对象的元信息 * @param key 对象key * @return 对象元信息键值对 * * ETag: xxxxxxxxxxxxxxxxxx * Connection: keep-alive * x-cos-request-id:xxxxxxxxxxxxxxxxxxxx * Last-Modified :Wed Sep 25 16:22:02 CST 2019 * Content-Length :1024 * Date :Tue, 04 Feb 2020 05:03:03 GMT * Content-Type :image/png * */ public Map getObjectMetaData(String key); /** *

根据对象key删除当前存储桶下的对象

* @param key 对象的key */ public void deleteObjectWithKey(String key); /** *

根据对象键集合,批量删除当前存储桶下的对象

* @param keys 对象键集合 */ public void deleteObjectsWithKeys(List keys); /** *

根据url删除当前存储桶对象

* @param url 对象的url */ public void deleteObjectWithUrl(String url); /** *

根据url集合,批量删除当前存储桶对象

* @param urls url集合 */ public void deleteObjectsWithUrls(List urls); /** *

上传文件到存储桶的默认目录,注意,是文件路径,不是目录

* @param filePath 本地文件路径 * @return 上传成功后,对象的url */ public String uploadFile(String filePath); /** *

上传文件到存储桶

* @param cosDir 需要将对象上传到存储桶的哪个目录,必须以 '/' 结尾,允许空串 * @param filePath 本地文件路径 * @return 上传成功后,对象的url */ public String uploadFile(String cosDir,String filePath); /** *

上传对象到存储桶的默认目录

* @param fileStream 对象的输入流 * @param objectName 指定上传后的对象名,但不需要指定后缀,如: a.jpg, a , b.jpg , b , cat 都行 * @return 上传成功后,对象的url */ public String uploadFile(InputStream fileStream, String objectName); /** *

上传对象到存储桶

* @param fileStream 对象的输入流 * @param cosDir 需要将对象上传到存储桶的哪个目录,必须以 '/' 结尾,允许空串 * @param objectName 对象名,但不需要指定后缀,如: a.jpg, a , b.jpg , b , cat 都行 * @return 上传成功后,对象的url */ public String uploadFile(InputStream fileStream,String cosDir,String objectName); /** *

下载文件到本地

* @param key 文件的key * @param saveFile 指定下载后的文件,这个文件不需要存在 * 比如你需要下载的文件key为: img/a.jpg, * * 那么你可以指定filepath为 : * * a.jpg * * b.jpg") * * /usr/dir/img.jpg * *

无需指定下载的文件类型

* /usr/dir/a * * G:/dir/b *
*/ public void downloadFile(String key,String saveFile); /** *

* 把当前存储桶下的所有文件都下载到本地 * 此方法的耗时取决于当前存储桶的文件数量和文件大小 *

* @param saveDir 指定本地目录 */ public void downloadAllFiles(String saveDir); /** *

关闭cos客户端连接

*/ public void close(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy