为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第18天 对接阿里云OSS

标签:
Java

课程名称:Spring Cloud 进阶 Alibaba 微服务体系自媒体实战
课程章节: 第4章 文件存储服务器解决方案
主讲老师: 风间影月

课程内容

本质上oss原理和fdfs也是差不多的,构建一个clint后,把文件流往里面一放,就能完成上传了。

引入OSS依赖

<dependency>
  <groupId>com.aliyun.oss</groupId>
  <artifactId>aliyun-sdk-oss</artifactId>
  <version>3.10.2</version>
</dependency>

UploaderService

/**
 * 在阿里OSS中上传文件
 */
public String uploadOSS(MultipartFile file, String userId, String fileExtName) 
throws Exception;
@Autowired
private FileResource fileResource;

@Autowired
private AliyunResource aliyunResource;
    
@Override
public String uploadOSS(MultipartFile file, String userId, String fileExtName) 
throws Exception {

    // 构建ossClient
    OSS ossClient = new OSSClientBuilder()
            .build(fileResource.getEndpoint(),
                    aliyunResource.getAccessKeyId(),
                    aliyunResource.getAccessKeySecret());

    InputStream inputStream = file.getInputStream();

    String fileName = sid.nextShort();
    String myObjectName = fileResource.getObjectName() + "/" + userId + "/" 
    + fileName + "." + fileExtName;

    ossClient.putObject(fileResource.getBucketName(), myObjectName, inputStream);
    ossClient.shutdown();

    return myObjectName;
}

file-dev.properties(同prod)

file.endpoint=oss-cn-shanghai.aliyuncs.com
file.bucketName=imooc-news
file.objectName=image/face

直接修改controller中的方法,去调用oss的service就行
FileUploaderController:

path = uploaderService.uploadOSS(file, userId, suffix);

finalUserFaceUrl = fileResource.getOssHost() + path;

file-dev.properties(同prod)

file.ossHost=https://imooc-news.oss-cn-shanghai.aliyuncs.com/

课程收获

OSS对象存储简介


对象存储服务(Object Storage Service,简称OSS)

阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。非常适合存储非结构化数据,例如视频、图形、日志、文本文件以及各种App应用、多终端同步软件、网盘下载站的文件等,单个文件的大小从1字节到48.8TB,可以存储的个数无限制;

前置操作

1、注册阿里云账户并登录至控制台

可以直接使用自己的支付宝账户登录,或者使用手机号注册;

2、登录控制台,开通对象存储OSS服务

https://img1.sycdn.imooc.com//632dac390001962914620568.jpg

3、创建bucket

使用OSS存储的基本逻辑单元是bucket,bucket即为桶的意思,创建一个桶,即创建了一个可以上传文件的容器,然后客户端就可以将文件上传到这个桶中;

然后可以基于这个bucket创建文件目录,并可以测试在线上传文件


课程截屏

https://img1.sycdn.imooc.com//632dac5100015a2c14660772.jpg

https://img1.sycdn.imooc.com//632dac590001a4bf14500762.jpg

https://img1.sycdn.imooc.com//632dac61000159b714500752.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1
获赞与收藏
3

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消