java使用阿里云OSS实现文件上传到云盘
2023-04-18 16:56:59 时间
一、进入阿里云官网的OSS管理控制台并注册账号
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企业应用、物联网等云计算服务。https://oss.console.aliyun.com/overview二、在Bucket列表中创建一个Bucket
三、创建好Bucket之后打开我们的RAM访问控制
找到用户管理下的用户,创建一个新的用户,记住AccessKey ID,和AccessKezy Secret值,等下会用到
四、在我们的java项目中找到pom.xml配置依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.15.0</version>
</dependency>
五、将以上工作准备就绪后就开始编写我们的Controller层的接口
/**
* 上传文件 存储到阿里云
*/
@SneakyThrows
@PostMapping("/put-aliyun-file")
public R<BladeFile> putAliyunFile(@RequestParam MultipartFile file) {
// Endpoint以北京为例,其它Region请按实际情况填写。
String endpoint = "https://oss-cn-beijing.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
/*添加自己accessKeyId值*/
String accessKeyId = "LTAI5t9xQfD3AF********";
/*accessKeySecret值*/
String accessKeySecret = "ByY8ZobVIwcHzxQTiS********";
// 填写Bucket名称,例如examplebucket。
String bucketName = "yun****";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String uuid = Func.randomUUID();
String date = DateUtil.format(DateUtil.now(), DateUtil.PATTERN_DATE);
String extension = FileUtil.getFileExtension(Objects.requireNonNull(file.getOriginalFilename()));
BladeFile bladeFile = new BladeFile();
bladeFile.setOriginalName(file.getOriginalFilename());
bladeFile.setName(StringUtil.format("{}/{}.{}", date, uuid, extension));
bladeFile.setLink(StringUtil.format("{}/{}/{}.{}",endpoint,bucketName,uuid, extension));
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName,bladeFile.getName(),file.getInputStream());
ossClient.putObject(putObjectRequest);
return R.data(bladeFile);
}
六、前端连上接口进行测试
七、测试结果,查看自己的Bucket列表看看图片添加进去没
相关文章
- Jease 2.6发布 Java开源内容框架
- JVM调优总结:反思
- JVM调优总结:调优方法
- JVM调优总结:新一代的垃圾回收算法
- JVM调优总结:典型配置举例
- JVM调优总结:分代垃圾回收详述
- JVM调优总结:垃圾回收面临的问题
- JVM调优总结:基本垃圾回收算法
- JVM调优总结:一些概念
- 用Java GUI编写的画板程序
- Java的动态绑定机制
- jOOQ 2.0.2发布 Java的ORM框架
- Java中带复选框的树的实现和应用
- Java网络编程菜鸟进阶:TCP和套接字入门
- 甲骨文与谷歌专利权之争定于今年三月开审
- Java调用C/C++编写的第三方dll动态链接库
- 集成开发环境 NetBeans IDE 7.1正式版发布
- kangle 2.7.5紧急发布 防hash碰撞攻击
- 东方通技术引领模式为国产软件“争权”
- UML中关联,组合与聚合等关系的辨析