先添加maven依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.8.0</version>
</dependency>
java 代码
@PostMapping("/uploadImage")
@ResponseBody
public String uploadImage(@RequestParam("file")MultipartFile file){
//你的endpoint
String endpoint="oss-cn-beijing.aliyuncs.com";
//阿里云可以获取到
String accesskeyId="LTAI4G2aicbuPvfjjFWbTh9v";
//阿里云可以获取到
String accesskeySecret="fPXEhBlEmshH3e88SXQw6p0REL1yG0";
//桶的名称 你在运行的时候有可能会报这个桶的名称已经被使用的错误这时候只需要换个没人使用过的名称就可以了
String buketName="dome132465";
//这个名称是你存储到oos上的图片名称
String fileName="sun.jpg";
try {
//创建上传oss客户端
OSS ossClient= new OSSClientBuilder().build(endpoint,accesskeyId,accesskeySecret);
InputStream inputStream = file.getInputStream();
ObjectMetadata objectMetadata=new ObjectMetadata();
//设置图片格式
objectMetadata.setContentType("image/jpg");
//创建桶
CreateBucketRequest createBucketRequest=new CreateBucketRequest(null); //这个桶的名称可以为空后面设置
//设置桶的名称
createBucketRequest.setBucketName(buketName);
//设置桶的权限。我这里设置的公共读,这样就可以通过连接访问图片
createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
//将桶设置到OSS
ossClient.createBucket(createBucketRequest);
//上传图片至oos
ossClient.putObject(buketName,fileName,inputStream,objectMetadata);
//关闭连接
ossClient.shutdown();
} catch (IOException e) {
e.printStackTrace();
}
//可以访问的图片连接
return "https://"+buketName+"."+endpoint+"/"+fileName;
}
然后就可以看到OSS中多了一个桶
点进去的文件管理就可以看到我们上传的照片
返回的连接为https://dome132465.oss-cn-beijing.aliyuncs.com/sun.jpg因为我对桶设置的权限为公共读所以点击就可以直接访问