首先我们需要申请阿里云账号 进行购买OSS云存储
一、开通“对象存储OSS”服务
申请阿里云账号、实名认证、进入管理控制台
二、创建Bucket
根据自身需求 ,一般选择标准存储
详细步骤可查看官方文档
/document_detail/3.html?
三、搭建service-oss模块
1、引入oss所需pom
<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version></dependency>
2、获取用户acesskeys
找到我们购买产品的accessKey
3、控制层
@RestController@RequestMapping("/api/oss/file")public class FileApiController {@Autowiredprivate FileService fileService;//上传文件到阿里云oss@PostMapping("fileUpload")public Result fileUpload(MultipartFile file) {//获取上传文件String url = fileService.upload(file);return Result.ok(url);}}
4、业务层
@Servicepublic class FileServiceImpl implements FileService {@Overridepublic String upload(MultipartFile file) {// Endpoint以杭州为例,其它Region请按实际情况填写。String endpoint = “oss-cn-";String accessKeyId = “你自己的accessKeyId ";String accessKeySecret = “你自己的accessKeySecret ";String bucketName = “yygh-naika"; //你创建的bucket名称try {// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 上传文件流。InputStream inputStream = file.getInputStream();String fileName = file.getOriginalFilename();// 防止上传文件名重复 生成随机唯一值,使用uuid,添加到文件名称里面String uuid = UUID.randomUUID().toString().replaceAll("-",""); //uuid 将”-“替换成空fileName = uuid+fileName;//文件名//类似这样 41e4087ee004fa2fe4b17a83ef482de1d1dee.jpg//调用方法实现上传// 1.jpg /a/b/1.jpgossClient.putObject(bucketName, fileName, inputStream);// 关闭OSSClient。ossClient.shutdown();//上传之后文件路径// https://yygh-atguigu.oss-cn-/01.jpgString url = "https://"+bucketName+"."+endpoint+"/"+fileName;//返回 上传路径return url;} catch (IOException e) {e.printStackTrace();return null;}}}
public interface FileService {//上传文件到阿里云ossString upload(MultipartFile file);}