Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: Lee Darin
Added: Jul 6, 2021 10:30 PM
Modified: Jul 6, 2021 10:32 PM
Views: 34
Tags: client http
  1. private void writeToResponse(ByteArrayOutputStream byteArray, HttpServletResponse response) {
  2.         OutputStream outputStream= null;
  3.        
  4.         ByteArrayInputStream inputStream= null;
  5.        
  6.         response.addHeader(HttpHeaders.CONTENT_TYPE, "utf-8");
  7.        
  8.         response.addHeader(HttpHeaders.CONTENT_DISPOSITION,"attachment; filename=test.gz");
  9.        
  10.         GZIPOutputStream zipOut= null;
  11.        
  12.         ByteArrayOutputStream zipOutByteArray= newByteArrayOutputStream();try{
  13.         outputStream=response.getOutputStream();
  14.        
  15.         zipOut= newGZIPOutputStream(zipOutByteArray);
  16.  
  17.         inputStream= newByteArrayInputStream(byteArray.toByteArray());
  18.         byte[] b = new byte[Integer.parseInt(buffSize)];
  19.         int j;
  20.         while ((j = inputStream.read(b)) > 0) {
  21.                 zipOut.write(b,0, j);
  22.  
  23.                 zipOut.flush();
  24.  
  25.         }
  26.  
  27.         //这里的zipOut一定要关闭,要不然客户端接收到的压缩流写到本地后,打开会报错
  28.        
  29.         zipOut.close();
  30.        
  31.         outputStream.write(zipOutByteArray.toByteArray());
  32.        
  33.         }catch(IOException e1) {
  34.         }finally{
  35.                 try{if(zipOutByteArray != null) {
  36.                 }
  37.                         zipOutByteArray.close();
  38.  
  39.                 }
  40.                 }catch(Exception e) {
  41.                 }try{if(byteArray != null) {
  42.                 byteArray.close();
  43.                
  44.                 }
  45.  
  46.                 }catch(Exception e) {
  47.                 }try{if(inputStream != null) {
  48.                 inputStream.close();
  49.                        
  50.                 }
  51.         }catch(Exception e) {
  52.         }try{if(outputStream != null) {
  53.         outputStream.close();
  54.        
  55.         }
  56.  
  57.         }catch(Exception e) {
  58.         }
  59.  
  60.         }