package com.qcloud.cos; import com.qcloud.cos.request.CreateFolderRequest; import com.qcloud.cos.request.DelFileRequest; import com.qcloud.cos.request.DelFolderRequest; import com.qcloud.cos.request.ListFolderRequest; import com.qcloud.cos.request.MoveFileRequest; import com.qcloud.cos.request.StatFileRequest; import com.qcloud.cos.request.StatFolderRequest; import com.qcloud.cos.request.UpdateFileRequest; import com.qcloud.cos.request.UpdateFolderRequest; import com.qcloud.cos.request.UploadFileRequest; import com.qcloud.cos.request.UploadSliceFileRequest; /** * @author chengwu * COS提供给用户使用的API接口 */ public interface COS { /** * 上传文件请求, 对小文件(8MB以下)使用单文件上传接口, 大文件使用分片上传接口, 推荐使用 * * @param request * 上传文件请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String uploadFile(UploadFileRequest request); /** * 上传单文件请求, 不分片,优先推荐使用uploadFile接口 * * @param request * 上传文件请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String uploadSingleFile(UploadFileRequest request); /** * 分片上传文件 * * @param request * 分片上传请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":$mess}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String uploadSliceFile(UploadSliceFileRequest request); /** * 获取文件属性 * * @param request * 获取文件属性请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String statFile(StatFileRequest request); /** * 更新文件属性 * * @param request * 更新文件属性请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String updateFile(UpdateFileRequest request); /** * 移动文件 * * @param request * 移动文件请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String moveFile(MoveFileRequest request); /** * 删除文件 * * @param request * 删除文件请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String delFile(DelFileRequest request); /** * 创建目录 * * @param request * 创建目录属性请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String createFolder(CreateFolderRequest request); /** * 更新目录属性 * * @param request * 更新目录属性请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String updateFolder(UpdateFolderRequest request); /** * 获取目录属性请求 * * @param request * 获取目录属性请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String statFolder(StatFolderRequest request); /** * 获取目录列表请求 * * @param request * 获取目录列表请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String listFolder(ListFolderRequest request); /** * 删除目录请求 * * @param request * 删除目录请求 * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, * 其他为失败, message为success或者失败原因 */ String delFolder(DelFolderRequest request); /** * 关闭COS客户端连接池,释放涉及的资源,释放后,不能再使用COS的接口,必须重新生成一个新对象 */ void shutdown(); }