首先阿里云申请,这个自行上阿里云按照指示申请,这里只写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);
???}
}
oss上传
原文地址:https://www.cnblogs.com/whb11/p/9989895.html