2014-10-01 399 views
0

嗨我正在嘗試使用weed-fs java client將文件上傳到weed-fs。我想我已按照說明of how to install weed成功安裝了雜草。總之我如何將文件上傳到weed-fs

  1. 用命令$./weed master
  2. 然後用$./weed volume -port=9444我的應用程序服務器卷的服務器已經佔用的端口8080
  3. 測試這一切都是通過上傳命令`$中的文件夾啓動主。/weed upload -dir =「any_dir_with_small_files」

至此,一切都很好。 在我的應用程序中,我嘗試從瀏覽器發佈multipart/form-data,該瀏覽器被一個調用類來處理上傳的servlet攔截。

public void upload(HttpServletRequest request) throws FileUploadException, IOException { 
    client = new WeedFSClient(MASTER_ADDRESS, MASTER_PORT); 
    if (ServletFileUpload.isMultipartContent(request)) { 
     FileItemIterator fileItemIterator = new ServletFileUpload().getItemIterator(request); 
     InputStream inputStream = null; 
     while (fileItemIterator.hasNext()) { 
      FileItemStream item = fileItemIterator.next(); 
      if (!item.isFormField()) { 
       inputStream = item.openStream(); 
       File file = new File(request.getServletContext().getRealPath("/")+"img/uploads/"+item.getName()); 
       FileOutputStream fos = new FileOutputStream(file); 
       Streams.copy(inputStream, fos, true); 
       RequestResult result = client.upload(file); 
       if (result.isSuccess()) { 
        System.out.println("uploaded file with ID "+result.getFid()); 
       } 
      } 
     } 
    } 
} 

當我運行此我得到了很多的調試信息

Info: DEBUG - Get connection for route {}->http://localhost:9444 
Info: DEBUG - Connecting to localhost:9444 
Info: DEBUG - CookieSpec selected: best-match 
Info: DEBUG - Auth cache not set in the context 
Info: DEBUG - Target auth state: UNCHALLENGED 
Info: DEBUG - Proxy auth state: UNCHALLENGED 
Info: DEBUG - Attempt 1 to execute request 
Info: DEBUG - Sending request: POST /2,ace132597a HTTP/1.1 
Info: DEBUG - >> "POST /2,ace132597a HTTP/1.1[\r][\n]" 
Info: DEBUG - >> "Transfer-Encoding: chunked[\r][\n]" 
Info: DEBUG - >> "Content-Type: multipart/form-data; boundary=TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3[\r][\n]" 
Info: DEBUG - >> "Host: localhost:9444[\r][\n]" 
Info: DEBUG - >> "Connection: Keep-Alive[\r][\n]" 
Info: DEBUG - >> "User-Agent: Apache-HttpClient/4.2.5 (java 1.5)[\r][\n]" 
Info: DEBUG - >> "[\r][\n]" 
Info: DEBUG - >> POST /2,ace132597a HTTP/1.1 
Info: DEBUG - >> Transfer-Encoding: chunked 
Info: DEBUG - >> Content-Type: multipart/form-data; boundary=TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3 
Info: DEBUG - >> Host: localhost:9444 
Info: DEBUG - >> Connection: Keep-Alive 
Info: DEBUG - >> User-Agent: Apache-HttpClient/4.2.5 (java 1.5) 
Info: DEBUG - >> "1088[\r][\n]" 
Info: DEBUG - >> "--TVf_3Jwe1DSTTHoUnZcyiA5KCVUFixPeItY3[\r][\n]" 
Info: DEBUG - >> "Content-Disposition: form-data; name="fileBody"; filename="23.jpg"[\r][\n]" 
Info: DEBUG - >> "Content-Type: text/plain[\r][\n]" 
Info: DEBUG - >> "[\r][\n]" 
Info: DEBUG - >> "[0xff][0xd8][0xff][0xe0][0x0][0x10]JFIF[0x0][0x1][0x1][0x1][0x0]H[0x0]H[0x0][0x0][0xff][0xe1][0x16][0xf2]Exif[0x0][0x0]II*[0x0][0x8][0x0][0x0][0x0][0x17][0x0][0x0][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x90][0x6][0x0][0x0][0x1][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x1a][0x4][0x0][0x0][0x2][0x1][0x3][0x0][0x3][0x0][0x0][0x0]"[0x1][0x0][0x0][0x6][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x2][0x0][0x0][0x0][0xf][0x1][0x2][0x0][0x6][0x0][0x0][0x0]([0x1][0x0][0x0][0x10][0x1][0x2][0x0][0x15][0x0][0x0][0x0].[0x1][0x0][0x0][0x12][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x1][0x0][0x0][0x0][0x15][0x1][0x3][0x0][0x1][0x0][0x0][0x0][0x3][0x0][0x0][0x0][0x1a][0x1][0x5][0x0][0x1][0x0][0x0][0x0]D[0x1][0x0][0x0][0x1a][0x1][0x5][0x0][0x1][0x0][0x0][0x0]L[0x1][0x0][0x0][0x1b][0x1][0x5] 

此這樣下去像X10我的屏幕不忘記我已經設置了非常小的字體大小的高度。 有人可以告訴我應該怎麼做。如果你能指導我爲一個java客戶端正確指導weed fs,我也會很感激。提前致謝。

回答

0

似乎你做得對。如果你不想看到它們,就關掉調試信息。

+0

你是weed-fs分佈式文件存儲的作者嗎? – qualebs 2017-05-28 15:22:07

+0

「你是否是weed-fs分佈式文件存儲的作者」是的。 – chrislusf 2017-05-29 17:14:20

+0

你好克里斯我一直在我的網站上使用雜草近一年了。你爲什麼改變你的用戶名?找到你有點困難?我希望在github或其他地方爲您的weed-fs項目提供Q&A部分,其中新用戶以及經驗豐富的雜草用戶(無雙關語)可以進行交互。你認爲這是可以做到的事情嗎?問題跟蹤頁面僅用於跟蹤問題和錯誤,但其他人可能遇到問題並不一定是問題。 – qualebs 2017-05-29 19:37:05