阿里云OSS
注册阿里云
https://www.aliyun.com/
访问该网址后扫码注册,注册完毕后记得修改个人信息,设置安全密码
之后点击控制台
点击控制台后点左上角三条杠
之后选择对象储存
点击进入后需要开通OSS储存服务
开通之前需要进行实名认证
刚开始是免费开通的,直接点击购买即可
之后进入Bucket列表
点击创建Bucket
按照如上配置进行配置
配置完成后点击完成创建
创建完成后点击名称进入
创建好可以在Bucket内上传文件,之后可以直接通过URL进行下载访问
点击上传好的文件名即可进入
到此OSS注册配置完成
Springboot集成OSS
在maven中添加依赖
<!--阿里云oss依赖坐标-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.15.1</version>
</dependency>
spring配置文件中配置
aliyun:
oss:
endpoint: 你自己阿里云账户的endpoint,例如:oss-cn-beijing.aliyuncs.com
accessKeyId: 你自己阿里云账户的accessKeyId
accessKeySecret: 你自己阿里云账户的accessKeySecret
bucketName: 你自己阿里云账户的bucketName
此处配置内的accessKeyId和accessKeySecret需要在阿里云官网获取
记得将Secret保存好,因为这个东西只有在处创建时才会显示,之后就无法查看了
在使用的类中获取配置属性值
@Value("${aliyun.oss.endpoint}")
private String endpoint;
@Value("${aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Value("${aliyun.oss.bucketName}")
private String bucketName;
代码实现
@PostMapping(path = "/uploadFile")
public CommonResult uploadFile(@RequestParam("file") CommonsMultipartFile
multipartFile) throws IOException {
//为了避免上传的文件重名,重新生成一个文件名
String newFileName = new
Date().getTime()+multipartFile.getOriginalFilename();
//连接oss
OSS ossClient = new OSSClientBuilder().build("https://"+endpoint,
accessKeyId, accessKeySecret);
//长传文件
ossClient.putObject(bucketName, newFileName,
multipartFile.getInputStream());
//拼接文件在oss中访问地址
String url = "https://"+bucketName+"."+endpoint+"/"+newFileName;
return new CommonResult(200, url,"操作成功");
}
之后运行服务器,在前端进行上传即可