HttpURLConnection上传文件

[[178962]]

 
 
  1. import java.io.BufferedReader; 
  2. import java.io.DataInputStream; 
  3. import java.io.DataOutputStream; 
  4. import java.io.File; 
  5. import java.io.FileInputStream; 
  6. import java.io.InputStreamReader; 
  7. import java.io.OutputStream; 
  8. import java.net.URL; 
  9.  
  10. import sun.net.www.protocol.http.HttpURLConnection; 
  11. /** 
  12.  * 主要实现文件上传,和接收方绑定接收后信息导入参数传递 
  13.  * @author zyb 
  14.  * 
  15.  */ 
  16. public class HttpURLConnectionServices { 
  17.  /** 
  18.  * @param fileName 要上传的文件,列:e:/upload/SSD4k对齐分区.zip 
  19.  * @param Url 上传路径端口号和项目名称,列:http://192.168.1.209:9080/gjbmj 
  20.  * @param strSiteID 对方的站点编号 
  21.  * @param strColumnID 对方的栏目编号 
  22.  * @param strDespatcher 发送信息人 
  23.  * @param strMechanism 发送信息机构 
  24.  * @param strOther1 
  25.  */ 
  26.  public static void post(String fileName ,String Url,String strSiteID,String strColumnID,String strDespatcher,String strMechanism,String strOther1){ 
  27.  try { 
  28.  String fname =fileName;//要上传的文件 
  29.  File file = new File(fname); 
  30.  URL url = new URL(Url+"/cms/infoShare/httpURLConnection.jsp"); 
  31.  HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
  32.  conn.setDoOutput(true); 
  33.  conn.setDoInput(true); 
  34.  conn.setChunkedStreamingMode(1024 * 1024); 
  35.  conn.setRequestMethod("POST"); 
  36.  conn.setRequestProperty("connection""Keep-Alive"); 
  37.  conn.setRequestProperty("Charsert""UTF-8"); 
  38.  conn.setConnectTimeout(50000); 
  39.  conn.setRequestProperty("Content-Type""multipart/form-data;file="+ file.getName()); 
  40.  conn.setRequestProperty("fileName",file.getName()); 
  41.  conn.setRequestProperty("strSiteID", strSiteID); 
  42.  conn.setRequestProperty("strColumnID", strColumnID); 
  43.  conn.setRequestProperty("strDespatcher", strDespatcher); 
  44.  conn.setRequestProperty("strMechanism", strMechanism); 
  45.  conn.setRequestProperty("strOther1", strOther1); 
  46.  conn.connect(); 
  47.  OutputStream out = new DataOutputStream(conn.getOutputStream()); 
  48.  DataInputStream in = new DataInputStream(new FileInputStream(file)); 
  49.  int bytes = 0; 
  50.  byte[] bufferOut = new byte[2048]; 
  51.  while ((bytes = in.read(bufferOut)) != -1) { 
  52.  out.write(bufferOut, 0, bytes); 
  53.  } 
  54.  in.close(); 
  55.  
  56.  out.flush(); 
  57.  out.close(); 
  58.  BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
  59.  String line = null
  60.  while ((line = reader.readLine()) != null) { 
  61.  //System.out.println("---line---"+line); 
  62.  } 
  63.  } catch (Exception e) { 
  64.  e.printStackTrace(); 
  65.  }finally{ 
  66.  new File(fileName).delete(); 
  67.  } 
  68.  } 
  69.  

【本文是专栏作者张勇波的原创文章,转载请通过获取作者授权】

THE END