package com.javaweb.oss.cloud;
|
|
import com.aliyun.oss.OSSClient;
|
import com.javaweb.oss.domain.OssException;
|
|
import java.io.ByteArrayInputStream;
|
import java.io.InputStream;
|
|
/**
|
* 阿里云存储
|
*/
|
public class AliyunCloudStorageService extends CloudStorageService
|
{
|
private OSSClient client;
|
|
public AliyunCloudStorageService(CloudStorageConfig config)
|
{
|
this.config = config;
|
// 初始化
|
init();
|
}
|
|
private void init()
|
{
|
client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(),
|
config.getAliyunAccessKeySecret());
|
}
|
|
@Override
|
public String upload(byte[] data, String path)
|
{
|
return upload(new ByteArrayInputStream(data), path);
|
}
|
|
@Override
|
public String upload(InputStream inputStream, String path)
|
{
|
try
|
{
|
client.putObject(config.getAliyunBucketName(), path, inputStream);
|
}
|
catch (Exception e)
|
{
|
throw new OssException("上传文件失败,请检查配置信息");
|
}
|
return config.getAliyunDomain() + "/" + path;
|
}
|
|
@Override
|
public String uploadSuffix(byte[] data, String suffix)
|
{
|
return upload(data, getPath(config.getAliyunPrefix(), suffix));
|
}
|
|
@Override
|
public String uploadSuffix(InputStream inputStream, String suffix)
|
{
|
return upload(inputStream, getPath(config.getAliyunPrefix(), suffix));
|
}
|
}
|