学成在线 第8天 讲义-课程图片管理 分布式文件系统一

1 FastDFS研究 
参考分布式文件系统 fastDFS研究.md
上传图片开发 
1.1.1 需求分析 
在很多系统都有上传图片/上传文件的需求,比如:上传课程图片、上传课程资料、上传用户头像等,为了提供系统的可重用性专门设立文件系统服务承担图片/文件的管理,文件系统服务实现对文件的上传、删除、查询等功能进行管理。
各各子系统不再开发上传文件的请求,各各子系统通过文件系统服务进行文件的上传、删除等操作。文件系统服务最终会将文件存储到fastDSF文件系统中。
下图是各各子系统与文件系统服务之间的关系:

 
下图是课程管理中上传图片处理流程:

 
执行流程如下: 
1、管理员进入教学管理前端,点击上传图片 
2、图片上传至文件系统服务,文件系统请求fastDFS上传文件 
3、文件系统将文件入库,存储到文件系统服务数据库中。 
4、文件系统服务向前端返回文件上传结果,如果成功则包括文件的Url路径。 
5、课程管理前端请求课程管理进行保存课程图片信息到课程数据库。 
6、课程管理服务将课程图片保存在课程数据库。 
1.1.2 创建文件系统服务工程 
导入xc-service-base-fifilesystem.zip工程。
1)工程目录结构

 
pom.xml

<?xml version=
"
1.0
"
encoding
=
"
UTF
‐
8
"
?>
<project xmlns
=
"
[url]http://maven.apache.org/POM/4.0.0[/url]
"
xmlns:xsi=
"
[url]http://www.w3.org/2001/XMLSchema[/url]
‐
instance
"
xsi:schemaLocation=
"
[url]http://maven.apache.org/POM/4.0.0[/url]
[url]http://maven.apache.org/xsd/maven[/url]
‐
4.0.0.xsd
"
>
<parent>
<artifactId>xc
‐
framework
‐
parent</artifactId>
<groupId>com.xuecheng</groupId>
<version>1.0
‐
SNAPSHOT</version>
<relativePath>../xc
‐
framework
‐
parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xc
‐
service
‐
base
‐
filesystem</artifactId>
<dependencies>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc
‐
service
‐
api</artifactId>
<version>1.0
‐
SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc
‐
framework
‐
model</artifactId>
<version>1.0
‐
SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc
‐
framework
‐
common</artifactId>
<version>1.0
‐
SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org
.springframework.boot</groupId>
<artifactId>spring
‐
boot
‐
starter
‐
web</artifactId>
</dependency>
<dependency>
<groupId>net.oschina.zcx7878</groupId>
<artifactId>fastdfs
‐
client
‐
java</artifactId>
</dependency>
<dependency>
<groupId>org
.springframework.boot</groupId>
<artifactId>spring
‐
boot
‐
starter
‐
test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org
.apache.commons</groupId>
<artifactId>commons
‐
io</artifactId>
</dependency>
<dependency>
<groupId>org
.springframework.boot</groupId>
<artifactId>spring
‐
boot
‐
starter
‐
data
‐
mongodb</artifactId>
</dependency>
</dependencies>
</project>

2)配置文件 
原测试程序中fastdfs-client.properties的配置信息统放在application.ymlapplication.yml 

server:
port: 22100
spring:
application:
name: xc
‐
service
‐
base
‐
filesystem
#mongo配置
data:
mongodb:
database: xc_fs
uri: mongodb://root:123@127.0.0.1:27017
#SpringMVC上传文件配置
servlet:
multipart:
#默认支持文件上传
.
enabled: true
#支持文件写入磁盘.
file
‐
size
‐
threshold: 0
# 上传文件的临时目录
location:
# 最大支持文件大小
max
‐
file
‐
size: 1MB
# 最大支持请求大小
max
‐
request
‐
size: 30MB
xuecheng:
fastdfs:
connect_timeout_in_seconds: 5
network_timeout_in_seconds: 30
charset: UTF
‐
8
tracker_servers: 192.168.101.64:22122

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值