麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > 管理維護 > 正文

圖片服務器要如何搭建

2024-09-10 14:19:16
字體:
來源:轉載
供稿:網友
  一、前言
 
  分布式集群的項目,正常一般的工程是把圖片放在web項目的自身服務器的工程中,但在集群環境下,會出現找不到圖片的情況。
 
  代碼參考:https://github.com/zyjcxc/taotao.git
 
  比如:
 
  解決辦法:
 
  linux做磁盤的映射,說能解決,但服務器多了也不好弄,所以可以再搭建一個圖片服務器
 
  圖片服務器兩個服務:
 
  http:可以使用nginx做靜態資源服務器。也可以使用apache。推薦使用nginx,效率更高。也可以結合我之前的mongo文件服務器,將文件url存到Mongo中。
 
  ftp服務:使用linux做服務器,在linux中有個ftp組件vsftpd。
 
  二、步驟
 
  1、服務器需求
 
  Linux:CentOS6.4
 
  Nginx:1.8.0
 
  Vsftpd:需要在線安裝。
 
  2、Nginx安裝
 
  參考Nginx安裝指南.
 
  3、Vsftpd安裝
 
  參考Vsftpd安裝指南.
 
  4、圖片服務器的測試
 
  安裝好環境后,可以用ftp客戶端(FileZilla)測試是否能上傳下載文件。
 
  ftp上傳圖片后,用瀏覽器直接訪問圖片路徑,測試是否有圖片顯示。
 
  5、java代碼實現上傳
 
  使用apache的FTPClient工具訪問ftp服務器。需要在pom文件中添加依賴:
 
  publicclassFTPClientTest{
 
  @Test
 
  publicvoidtestFtp()throwsException{
 
  //1、連接ftp服務器
 
  FTPClientftpClient=newFTPClient();
 
  ftpClient.connect("192.168.1.133",21);
 
  //2、登錄ftp服務器
 
  ftpClient.login("ftpuser","ftpuser");
 
  //3、讀取本地文件
 
  FileInputStreaminputStream=newFileInputStream(newFile("D://Documents//Pictures//images//2010062119283578.jpg"));
 
  //4、上傳文件
 
  //1)指定上傳目錄
 
  ftpClient.changeWorkingDirectory("/home/ftpuser/www/images");
 
  //2)指定文件類型
 
  ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
 
  //第一個參數:文件在遠程服務器的名稱
 
  //第二個參數:文件流
 
  ftpClient.storeFile("hello.jpg",inputStream);
 
  //5、退出登錄
 
  ftpClient.logout();
 
  }
 
  }
 
  后續可以根據需求,將其封裝工具類,寫service,contorller即可,截取部分代碼
 
  publicMapuploadPicture(MultipartFileuploadFile){
 
  Map<String,Object>map=newHashMap<>(2);
 
  try{
 
  StringoldName=uploadFile.getOriginalFilename();
 
  StringnewName=IDUtils.genImageName();
 
  newName+=oldName.substring(oldName.lastIndexOf("."));
 
  StringimagePath=newDateTime
 
  ().toString("yyyy/MM/dd");
 
  booleanresult=FtpUtil.uploadFile(FTP_HOST,FTP_PORT,FTP_USERNAME,FTP_PASSWORD,FTP_BASE_PATH,imagePath,newName,uploadFile.getInputStream());
 
  if(!result){
 
  map.put("error",1);
 
  map.put("message","文件上傳失敗");
 
  returnmap;
 
  }
 
  map.put("error",0);
 
  map.put("url",IMAGE_BASE_URL+"/"+imagePath+"/"+newName);
 
  }catch(IOExceptione){
 
  map.put("error",1);
 
  map.put("message","文件上傳異常");
 
  e.printStackTrace();
 
  returnmap;
 
  }
 
  returnmap;
 
  }
 
  注意:
 
  springmvc框架,在配置文件中要加入文件上傳解析器
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费在线观看视频 | 国产女做a爱免费视频 | 色淫影院 | free japan xxxxhdsex69 | 龙床上的呻吟高h | 亚州欧美视频 | 欧美成人精品欧美一级乱黄 | 黄色网址进入 | www亚洲 | 国产精品视频二区不卡 | 国产91精品一区二区麻豆亚洲 | 欧美性生交xxxxx免费观看 | 国产精品区一区二区三区 | 羞羞答答tv| 日韩一级免费 | 欧美一区二区三区不卡免费观看 | 精品久久久久久久久久久下田 | 国产一区二区视频精品 | 国产精品高潮视频 | 国产精品一区二区三区在线看 | 亚洲无av | 看国产一级毛片 | lutube成人福利在线观看污 | 色啪综合 | 黄色免费不卡视频 | 欧美视频在线一区二区三区 | 久久网国产精品 | 在线播放av片 | 中文字幕电影免费播放 | 亚洲码无人客一区二区三区 | asian超清日本肉体pics | 欧美激情图区 | 亚洲午夜激情网 | 干一夜综合 | 天堂在线资源av | 成人在线不卡 | 黄色午夜剧场 | 精品国产一区二区三区天美传媒 | 中文字幕在线日韩 | 成人福利在线 | www.91sese|