2016-01-20 126 views
1

我想使用Spring引導REST服務gzip日誌文件。 文件已經gzip,我不需要gzip他們。 瀏覽器應解壓縮並顯示純文本。 根據我GOOGLE了信息,我需要兩樣東西,使其工作:使用Spring引導服務gzip文件

  • 坐落在請求頭以下:'Accept-Encoding': 'gzip'
  • 設置響應報頭中的以下內容:'Content-Encoding': 'gzip'

請求OK:

enter image description here

反應不是 - 缺少內容編碼^ h EADER: enter image description here

這裏是我的Java代碼:

@RequestMapping(value = "/download", 
    method = RequestMethod.GET) 
public ResponseEntity<InputStreamResource> download(HttpServletRequest request, HttpServletResponse response) { 
    log.debug("REST request to get the filesystem resource"); 

    // hardcoded for testing purpose 
    File f = new File("C:/file.log.gz"); 
    InputStream inputStream = null; 
    InputStreamResource inputStreamResource = null; 
    HttpHeaders headers = null; 
    try { 
     inputStream = new FileInputStream(f); 
     inputStreamResource = new InputStreamResource(inputStream); 

     headers = new HttpHeaders(); 
     headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); 
     headers.add("Pragma", "no-cache"); 
     headers.add("Expires", "0"); 
     headers.add("Content-Encoding", "gzip"); 

    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

    return ResponseEntity 
     .ok() 
     .headers(headers) 
     .contentType(MediaType.parseMediaType("text/plain")) 
     .body(inputStreamResource); 
} 

是春天從響應刪除這個特定的頭?

回答

0

我剛發現它實際上在工作:)。之前我使用BrowserSync進行測試,出於某種原因它不適用於BrowserSync。