圖片上傳FastDFS服務器

圖片上傳FastDFS服務器

安裝圖片服務器FastDFS

啓動CentOS-fastDFS-189虛擬機

選我已移動該虛擬機,只需要修改虛擬機IP、關網

選我已複製該虛擬機,需要修改虛擬機IP、關網以及網卡地址

CentOS-fastDFS-189虛擬機的用戶名:root 密碼:123123

 

修改虛擬機IP、關網

 

vi/etc/sysconfig/network

 

init 0

secureCRT工具啓動tracker、storage、nginx

ps -ef |grep tracker

ps -ef |grep storage

ps -ef |grep nginx

關閉防火牆:service iptables stop

 

FastDFS 服務器的配置:

重啓tracker、storage

/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart

查看tracker是否重啓

重啓storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

 

FastDFS-nginx-module配置:

vim/etc/fdfs/mod_fastdfs.conf

 

 

 

Nginx中nginx.conf配置:

 

重啓nginx查看:

 

 

 

 

 

 

 

 

安裝FastDFS 客戶端

 

工具類上傳圖片:

配置tracker服務器:

buy-common工具工程pom中配置fastdfs客戶端依賴

<!-- fastDFS客戶端 -->

<dependency>

       <groupId>fastdfs_client</groupId>

       <artifactId>fastdfs_client</artifactId>

       <version>1.25</version>

     </dependency>

 

Web工程pom中配置文件上傳組件依賴

<!-- 文件上傳組件 -->

       <dependency>

         <groupId>commons-fileupload</groupId>

         <artifactId>commons-fileupload</artifactId>

       </dependency>

 

 

 

Web工程springmvc.xml配置文件上傳的相關配置

<!-- 文件上傳的相關配置 -->

         <bean id="multipartResolver"

                   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

                   <!-- 設定默認編碼 -->

                   <property name="defaultEncoding" value="UTF-8"></property>

                   <!-- 設定文件上傳的最大值5MB,5*1024*1024 -->

                   <property name="maxUploadSize" value="5242880"></property>

         </bean>

 

Controller層配置

@Controller

public class PictuerController {

        

        

         @Value("${IMAGE_SERVER}")

         private String IMAGE_SERVER;

        

         @RequestMapping(value="/pic/upload",produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")

         @ResponseBody

         public String uploadFile(MultipartFile uploadFile) throws JsonProcessingException{

                   Map result = new HashMap();

                   //將圖片上傳到圖片服務器

                   try {

                            FastDFSClient client = new FastDFSClient("classpath:conf/client.conf");

                            //獲取文件後綴

                            String fileName = uploadFile.getOriginalFilename();

                            //注意不能包含 .

                            String ext = fileName.substring(fileName.lastIndexOf(".")+1);

                            //利用工具類,將圖片上傳到圖片服務器

                            String path = client.uploadFile(uploadFile.getBytes(),ext);

                            //  group1/M00/00/00/wKgIcFrxtzSAdEybAADbmEFe3tA712.jpg

                            System.out.println(path);

                            //上傳成功

                            result.put("error", 0);

                            result.put("url", IMAGE_SERVER+path);

                   } catch (Exception e) {

                            //上傳失敗

                            result.put("error", 1);

                            result.put("message", "上傳失敗!");

                            e.printStackTrace();

                   }

                   return new ObjectMapper().writeValueAsString(result);

         };

}

上傳圖片頁面有問題及解決如圖:

 成功:

 

斷點調試設置:

查看fastDFS服務器中上傳的圖片:

先運行服務層,在運行表現層

運行時報錯如圖:

解決:1、重啓storagetracker

      2、檢查storagetrackerIP是否配正確

      3storage.conftracker.confclient.confIP配置是不是在最原始的storage.conftracker.confclient.conf如圖下的位置,而不是在其他位置storage.conftracker.confclient.conf的修改IP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章