千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  阿里OSS对象存储快速实现图片上传

阿里OSS对象存储快速实现图片上传

来源:千锋教育
发布人:lxl
时间: 2023-02-28 15:16:44

  一、OSS简介

  快速了解

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

  存储类型

  OSS支持的具体存储类型较多,我们可以参考如下链接: https://oss.console.aliyun.com/overview

  1.1 标准存储(Standard)

  该方案提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问,适用于各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。OSS还提供了标准存储-本地冗余(LRS)和标准存储-同城冗余(ZRS)两种数据冗余存储方式。

  标准存储-本地冗余(LRS):采用数据冗余存储机制,将每个对象的不同冗余存储在同一个可用区内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。

  标准存储-同城冗余(ZRS):采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。

  1.2 低频访问(Infrequent Access)

  该方案提供了高持久性、较低存储成本的对象存储服务,有最低存储时间(30天)和最小计量单位(64 KB)要求。支持数据实时访问,访问数据时会产生数据取回费用,适用于较低访问频率(平均每月访问频率1到2次)的业务场景。提供低频访问-本地冗余(LRS)和低频访问-同城冗余(ZRS)两种数据冗余存储方式。

  低频访问-本地冗余(LRS):采用数据冗余存储机制,将每个对象的不同冗余存储在同一个可用区内多个设施的多个设备上,确保硬件失效时的数据持久性和可用性。

  低频访问-同城冗余(ZRS):采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。

  1.3 归档存储(Archive)

  该方案提供了高持久性、极低存储成本的对象存储服务。有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。适用于数据长期保存的业务场景,例如档案数据、医疗影像、科学资料、影视素材等。

  1.4 冷归档存储(Cold Archive)

  该方案提供了高持久性的对象存储服务,存储费用在四种存储类型中最低。有最低存储时间(180天)和最小计量单位(64 KB)要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。适用于需要超长时间存放的极冷数据,例如因合规要求需要长期留存的数据、大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等业务场景。

  给大家介绍了以上这些存储类型之后,接下来辉哥就带各位看看OSS到底该如何使用,本案例采用标准存储进行实现。

  二、快速使用

  开通服务

  在使用OSS之前,我们要先购买OSS服务,毕竟这些第三方公司都不是做慈善的,怎么可能让我们免费使用这些吊炸天的技术呢?我们就掏点money,为让马爸爸成为首富贡献自己的绵薄之力吧。

  在学习阶段,我们购买OSS时,可以选择按量计费的方案,当然也可以直接买一个半年包或者一年包!这些在学习时进行测试就已经足够了。我们可以看到,40GB存储包也就9块钱,便宜啊,买买买!

阿里OSS对象存储快速实现图片上传

  创建存储空间

  购买了OSS服务之后,接下来需要创建自己的存储空间,创建过程如下图所示:

阿里OSS对象存储快速实现图片上传

  上传测试

  接下来我们可以先通过手动方式测试一下上传功能是否好使。

阿里OSS对象存储快速实现图片上传

  三. 代码实现

  当然,我们在开发时不可能采用手动上传的方式实现文件上传,肯定是要利用代码进行实现的,接下来辉哥就给大家说说用代码该怎么实现文件上传。

 添加依赖

阿里OSS对象存储快速实现图片上传

  创建AccessKey

  OSS为了提高安全性,要求每个用户都必须创建AccessKey,作为访问令牌,所以请按下图所示创建获取自己的AccessKey。

阿里OSS对象存储快速实现图片上传

  AccessKey简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。

阿里OSS对象存储快速实现图片上传

  大家要保存好自己的AK,不要随意泄露给别人哦。

  定义3个常量值

  我们可以随便定义一个接口类,在其中定义如下3个常量值,用于存储自己的AK等信息。

阿里OSS对象存储快速实现图片上传

  文件上传下载文档

  对于文件上传下载的具体实现过程,我们可以参考如下官方文档。

  https://help.aliyun.com/document_detail/84781.html

  上传功能

  为了方便实现图片上传,辉哥定义了一个上传图片的方法,该方法可以定义在工具类中。

阿里OSS对象存储快速实现图片上传

  下载功能

  为了方便实现图片下载,辉哥又定义了一个下载图片的方法,该方法也可以定义在工具类中。

阿里OSS对象存储快速实现图片上传

  删除功能

  最后,我们再搞一个文件删除功能,代码如下:

阿里OSS对象存储快速实现图片上传

  我们在开发中会接触到很多的第三方文件服务器,在学习时首先要下载对应的sdk,并查看官方文档,根据官方文档的要求一步步进行实现即可。其实越是第三方的技术,使用起来越简单,因为如果第三方的功能使用起来太复杂,就会减少大家的使用兴趣,从而阻碍了该产品的推广。


声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

java的输入语句—— Scanner类

2023-05-04

java数据库操作常识事务的四大特性

2023-05-04

DML数据操作之增加或删除数据

2023-05-04

最新文章NEW

socket是什么?有什么作用?

2023-05-04

Java常量定义是什么

2023-04-28

一分钟带你学多线程

2023-04-28

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>