Package cn.twelvet.oss.service
Class OssTemplate
java.lang.Object
cn.twelvet.oss.service.OssTemplate
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
public class OssTemplate
extends Object
implements org.springframework.beans.factory.InitializingBean
aws-s3 通用存储操作 支持所有兼容s3协议的云存储: {阿里云OSS,腾讯云COS,七牛云,京东云,minio 等}
- Author:
- twelvet
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcreateBucket(String bucketName) 创建bucketList<com.amazonaws.services.s3.model.Bucket>获取全部bucket 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息List<com.amazonaws.services.s3.model.S3ObjectSummary>getAllObjectsByPrefix(String bucketName, String prefix) 根据文件前置查询文件 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息Optional<com.amazonaws.services.s3.model.Bucket>请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息com.amazonaws.services.s3.model.S3Object获取文件com.amazonaws.services.s3.model.S3ObjectgetObjectInfo(String bucketName, String objectName) 获取文件信息getObjectURL(String bucketName, String objectName) 获取文件URLgetObjectURL(String bucketName, String objectName, int minutes) 获取文件外链,只用于下载getObjectURL(String bucketName, String objectName, int minutes, com.amazonaws.HttpMethod method) 获取文件外链getObjectURL(String bucketName, String objectName, Duration expires) 获取文件外链,只用于下载getObjectURL(String bucketName, String objectName, Duration expires, com.amazonaws.HttpMethod method) 获取文件外链getPutObjectURL(String bucketName, String objectName, int minutes) 获取文件上传外链,只用于上传getPutObjectURL(String bucketName, String objectName, Duration expires) 获取文件上传外链,只用于上传voidputObject(String bucketName, String objectName, InputStream stream) 上传文件com.amazonaws.services.s3.model.PutObjectResultputObject(String bucketName, String objectName, InputStream stream, long size, String contextType) 上传文件 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息voidputObject(String bucketName, String objectName, String contextType, InputStream stream) 上传文件 指定 contextTypevoidremoveBucket(String bucketName) voidremoveObject(String bucketName, String objectName) 删除文件
-
Constructor Details
-
OssTemplate
注入OssProperties- Parameters:
ossProperties- OssProperties
-
-
Method Details
-
createBucket
创建bucket- Parameters:
bucketName- bucket名称
-
getAllBuckets
获取全部bucket 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息- Returns:
- List Bucket
-
getBucket
请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息- Parameters:
bucketName- bucket名称- Returns:
- Optional Bucket
-
removeBucket
- Parameters:
bucketName- bucket名称- See Also:
-
getAllObjectsByPrefix
public List<com.amazonaws.services.s3.model.S3ObjectSummary> getAllObjectsByPrefix(String bucketName, String prefix) 根据文件前置查询文件 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息- Parameters:
bucketName- bucket名称prefix- 前缀- Returns:
- List S3ObjectSummary
-
getObjectURL
获取文件外链,只用于下载- Parameters:
bucketName- bucket名称objectName- 文件名称minutes- 过期时间,单位分钟,请注意该值必须小于7天- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration)
-
getObjectURL
获取文件外链,只用于下载- Parameters:
bucketName- bucket名称objectName- 文件名称expires- 过期时间,请注意该值必须小于7天- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration)
-
getPutObjectURL
获取文件上传外链,只用于上传- Parameters:
bucketName- bucket名称objectName- 文件名称minutes- 过期时间,单位分钟,请注意该值必须小于7天- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration)
-
getPutObjectURL
获取文件上传外链,只用于上传- Parameters:
bucketName- bucket名称objectName- 文件名称expires- 过期时间,请注意该值必须小于7天- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration)
-
getObjectURL
public String getObjectURL(String bucketName, String objectName, int minutes, com.amazonaws.HttpMethod method) 获取文件外链- Parameters:
bucketName- bucket名称objectName- 文件名称minutes- 过期时间,单位分钟,请注意该值必须小于7天method- 文件操作方法:GET(下载)、PUT(上传)- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method)
-
getObjectURL
public String getObjectURL(String bucketName, String objectName, Duration expires, com.amazonaws.HttpMethod method) 获取文件外链- Parameters:
bucketName- bucket名称objectName- 文件名称expires- 过期时间,请注意该值必须小于7天method- 文件操作方法:GET(下载)、PUT(上传)- Returns:
- url
- See Also:
-
AmazonS3.generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method)
-
getObjectURL
获取文件URLIf the object identified by the given bucket and key has public read permissions (ex:
CannedAccessControlList.PublicRead), then this URL can be directly accessed to retrieve the object's data.- Parameters:
bucketName- bucket名称objectName- 文件名称- Returns:
- url
-
getObject
获取文件- Parameters:
bucketName- bucket名称objectName- 文件名称- Returns:
- 二进制流
- See Also:
-
putObject
上传文件- Parameters:
bucketName- bucket名称objectName- 文件名称stream- 文件流- Throws:
IOException- IOException
-
putObject
public void putObject(String bucketName, String objectName, String contextType, InputStream stream) throws IOException 上传文件 指定 contextType- Parameters:
bucketName- bucket名称objectName- 文件名称stream- 文件流contextType- 文件类型- Throws:
IOException- IOException
-
putObject
public com.amazonaws.services.s3.model.PutObjectResult putObject(String bucketName, String objectName, InputStream stream, long size, String contextType) 上传文件 请参考 AWS S3 API 文档(http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects)以获取更多信息- Parameters:
bucketName- bucket名称objectName- 文件名称stream- 文件流size- 大小contextType- 类型- Returns:
- PutObjectResult
-
getObjectInfo
获取文件信息- Parameters:
bucketName- bucket名称objectName- 文件名称- Returns:
- S3Object
- See Also:
-
removeObject
删除文件- Parameters:
bucketName- bucket名称objectName- 文件名称- See Also:
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-