Java的新项目学成在线笔记-day8(一)

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

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

 
pom.xml
 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?xml version="1.0" encoding="UTF‐8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"    

     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  [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>

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<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.yml application.yml
 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

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  

    #支持文件写入磁盘.


 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

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

猜你喜欢

转载自blog.csdn.net/czbkzmj/article/details/89011597