oss上传

首先阿里云申请,这个自行上阿里云按照指示申请,这里只写java代码引用

 

配置文件yml

oss:
endPoint: 
accessKeyId: 
accessKeySecret: 
bucketName: 

这四个自行配置

上传类

public class OSSClientWrapper {

static Logger log = Logger.getLogger(OSSClientWrapper.class);

@Value("${oss.endPoint}")
private String endPoint; // endpoint是访问OSS的域名。如果您已经在OSS的控制台上 创建了Bucket,请在控制台上查看域名。

@Value("${oss.accessKeyId}")
private String accessKeyId; // accessKeyId和accessKeySecret是OSS的访问密钥,您可以在控制台上创建和查看,

@Value("${oss.accessKeySecret}")
private String accessKeySecret;

@Value("${oss.bucketName}")
private String bucketName; // Bucket用来管理所存储Object的存储空间,详细描述请参看“开发人员指南 > 基本概念 > OSS基本概念介绍”。

public String oss(MultipartFile file) {

// 日志配置,OSS Java SDK使用log4j记录错误信息。示例程序会在工程目录下生成“oss-demo.log”日志文件,默认日志级别是INFO。
// 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以没有日志配置文件和下面的日志配置。
PropertyConfigurator.configure("log4j.properties");

log.info("Started");

// 生成OSSClient,您可以指定一些参数,详见“SDK手册 > Java-SDK > 初始化”,
// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start
OSSClient ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret);
String url = null ;
try {

// 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init
if (ossClient.doesBucketExist(bucketName)) {
System.out.println("您已经创建Bucket:" + bucketName + "。");
} else {
System.out.println("您的Bucket不存在,创建Bucket:" + bucketName + "。");
// 创建Bucket。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init
ossClient.createBucket(bucketName);
}

// 查看Bucket信息。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init
BucketInfo info = ossClient.getBucketInfo(bucketName);
System.out.println("Bucket " + bucketName + "的信息如下:");
System.out.println("\t数据中心:" + info.getBucket().getLocation());
System.out.println("\t创建时间:" + info.getBucket().getCreationDate());
System.out.println("\t用户标志:" + info.getBucket().getOwner());

// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/upload_object.html?spm=5176.docoss/user_guide/upload_object
InputStream is = new ByteArrayInputStream(file.getBytes());
ossClient.putObject(bucketName, file.getOriginalFilename(), is);
url = "http://"+bucketName+"."+endPoint+"/"+file.getOriginalFilename();
// URL url = ossClient.generatePresignedUrl(bucketName, file.getOriginalFilename(),new Date());
log.info(url.toString());;

System.out.println("Object:" + file.getOriginalFilename() + "存入OSS成功。");

} catch (OSSException oe) {
oe.printStackTrace();
} catch (ClientException ce) {
ce.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
ossClient.shutdown();
}
log.info("Completed");
return url;
}
public void deleteOss(String filePath) {
OSSClient ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret);
ossClient.deleteObject(bucketName, filePath);
}
}

posted @ 2018-11-20 16:46  一枚行者  阅读(449)  评论(0编辑  收藏  举报