拉勾课程速推指南-阶段四 模块四 轻量级分布式文件系统FastDFS、阿里云OSS云存储平台(2)

【原创】拉勾课程速推指南-阶段四 模块四 轻量级分布式文件系统FastDFS、阿里云OSS云存储平台(2)

文章内容输出来源:拉勾教育Java高薪训练营

学习心得

【拉勾课程速推指南】学习心得

课程介绍

第四阶段 大型分布式存储系统架构进阶

模块四 轻量级分布式文件系统FastDFS、阿里云OSS云存储平台

本模块对分布式文件系统FastDFS集群架构与原理剖析,使用FastDFS+Nginx搭建高吞吐文件服务器,并对阿里云OSS云存储平台系统讲解。

作业内容

作业二:

使用SpringBoot和OSS实现图片的上传、下载和删除功能, 具体要求如下:

可以使用postman 发送上传请求 /oss/upload ,实现图片上传到OSS对应的Bucket中

类型检查:必须为 jpg、png 或者 jpeg类型,其它图片类型返回错误提示信息

大小检查:必须小于5M,大于5M时返回错误提示信息

图片名称:生成的文件名,必须保持唯一

可以使用postman 发送下载请求 /oss/download,实现图片下载

可以根据图片名进行文件的下载

可以使用postman 发送删除请求/oss/delete,实现图片删除

可以根据图片名进行文件的删除

1、提供资料:说明文档,验证及讲解视频。

2、讲解内容包含:题目分析、实现思路、环境介绍。

课程目录及观看建议

2倍速模式:课程时间2小时,作业时间5小时

*** 必看 ** 建议看 * 可不看

  • 任务二:阿里云OSS云存储平台
  1. OSS课程介绍(09:12)
  2. OSS和自建服务器对比(10:06)
  3. OSS应用场景和计量计费(09:00)
  4. OSS云存储的概念(15:32)*
  5. OSS基本功能(20:24)*
  6. URL规则防盗链和自定义域名(19:53)
  7. 日志记录(15:26)
  8. 权限控制(13:22)
  9. OSS开放接口(12:17)
  10. 错误响应码(09:46)
  11. Java访问OSS(21:39)***
  12. SpringBoot访问OSS(37:06)***
  13. 数据处理和CDN(18:14)

作业说明

软件版本

JDK 11
Spring Boot 2.3.1.RELEASE
  Spring Boot Web
Aliyun Oss Sdk 3.10.2

注意事项:

  1. 缺少相关类库包

java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包,而在 java6、7、8时关于这个API 都是捆绑在一起的。

两种解决方案:

a. 将jdk降为8

b. 引入JAXB API依赖(推荐)

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>3.0.0-M4</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>3.0.0-M4</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
  1. 文件上传大小限制

默认1M,需要设置成10M,便于超过5M时提示错误信息。注意Spring Boot版本不同,配置也不同。以下为2.0以上:

spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 10MB

作业实现步骤

  1. 创建Spring Boot项目,引入阿里云OSS依赖包
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>
  1. 配置yml参数
# 设置spring上传文件大小
spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 10MB

# 添加自定义的阿里云OSS参数
custom:
  aliyun:
    endpoint: https://oss-cn-beijing.aliyuncs.com
    access-key-id: LTAI4G52sGc3zraTbCWqnSPB
    access-key-secret: x3BrPYSnsUnE7zwsrMWDiqTyWqZT3h
    bucket-name: sl-lagou
    url-prefix: https://sl-lagou.oss-cn-beijing.aliyuncs.com/
    # MB
    file-size: 5

编写配置类,读取配置参数

输入图片说明

  1. 编写Contorller

输入图片说明

  1. 编写Service

输入图片说明

输入图片说明

类型检查:必须为 jpg、png 或者 jpeg类型,其它图片类型返回错误提示信息

大小检查:必须小于5M,大于5M时返回错误提示信息

输入图片说明

图片名称:生成的文件名,必须保持唯一

输入图片说明

  1. 测试
  • 可以使用postman 发送上传请求 /oss/upload ,实现图片上传到OSS对应的Bucket中

    类型检查:必须为 jpg、png 或者 jpeg类型,其它图片类型返回错误提示信息

    大小检查:必须小于5M,大于5M时返回错误提示信息

    图片名称:生成的文件名,必须保持唯一

输入图片说明

输入图片说明

输入图片说明

类型检查:必须为 jpg、png 或者 jpeg类型,其它图片类型返回错误提示信息

输入图片说明

输入图片说明

大小检查:必须小于5M,大于5M时返回错误提示信息

输入图片说明

输入图片说明

  • 可以使用postman 发送下载请求 /oss/download,实现图片下载

    可以根据图片名进行文件的下载

输入图片说明

输入图片说明

输入图片说明

  • 可以使用postman 发送删除请求/oss/delete,实现图片删除

    可以根据图片名进行文件的删除

输入图片说明

输入图片说明

输入图片说明

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 拉勾课程速推指南-阶段四 模块四 轻量级分布式文件系统FastDFS、阿里云OSS云存储平台(2)