1、注册阿里云,搜索找到对象存储OSS,创建Bucket,记住Bucket名称
1、搜索对象存储OSS
2、创建Bucket
2、点击Access Key获取到AccessKey ID和AccessKey Secret
3、点击查看Bucket列表获取地域节点
4、idea中引入相关依赖
<dependencies>
<!-- 阿里云oss依赖 -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<!-- 日期工具栏依赖 -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
</dependencies>
<properties>
<aliyun.oss.version>2.8.3</aliyun.oss.version>
<jodatime.version>2.10.1</jodatime.version>
</properties>
5、具体代码
//ConstantPropertiesUtils.END_POINT 为上述获取的endpoint
//ConstantPropertiesUtils.ACCESS_KEY_ID;为上述获取的KeyId
//ConstantPropertiesUtils.ACCESS_KEY_SECRET;为上述获取的KeySecret
//ConstantPropertiesUtils.BUCKET_NAME;为上述获取的bucketName
public String uploadFileAvatar(MultipartFile file) {//MultipartFile 用来获取上传文件
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = ConstantPropertiesUtils.END_POINT;
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
OSS ossClient = null;
try {
// 创建OSSClient实例。
ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 获取上传文件流。
InputStream inputStream = file.getInputStream();
//获取文件名
String originalFilename = file.getOriginalFilename();
//在文件名称中拼接唯一的值,避免文件重名
String uuid = UUID.randomUUID().toString().replaceAll("-","");
originalFilename = originalFilename+uuid;
//文件按照日期分类
//获取当前日期
String s = new DateTime().toString("yyyy/MM/dd");
originalFilename = s+"/"+originalFilename;
//调用方法上传文件//1.bucket名称 2.文件名称 3.文件输入流
ossClient.putObject(bucketName, originalFilename, inputStream);
ossClient.shutdown();
//把上传到阿里云的路径拼接
String url ="https://"+bucketName+"."+endpoint+"/"+originalFilename;
return url;
} catch (Exception e) {
e.printStackTrace();
}
// 关闭OSSClient。
return null;
}
可以写一个controller,然后进行测试,拿到的URL地址可以在浏览器直接下载查看