社区编辑申请
注册/登录
HttpURLConnection上传文件
开发 开发工具
博主发表的文章,有的是自己原创,有的是这些年本人从网上积累的,方便大家学习。

  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.  

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

责任编辑:武晓燕 来源: 上下求索的Z先生博客
相关推荐

2014-08-15 13:11:03

HttpURLConn

2014-08-13 10:20:59

HttpURLConn

2010-01-25 11:09:58

2015-03-30 14:15:55

自动更新Android

2015-10-10 16:46:14

HTTP网络协议文件传输

2015-10-09 09:41:24

2015-10-08 09:38:24

2015-09-28 13:39:13

2015-09-29 09:25:20

HTTP网络协议

同话题下的热门内容

使用VScode的几点感受,对比Pycharm、Jupyter优劣势用 Antlr 重构脚本解释器GitHub 添加工具以简化软件开发管理

编辑推荐

终于有人把Elasticsearch原理讲透了!花了一个星期,我终于把RPC框架整明白了!这可能是把ZooKeeper概念讲的最清楚的一篇文章论如何下载一个在线的m3u8文件到本地成为一个mp4!拜托!面试不要再问我Spring Cloud底层原理
我收藏的内容
点赞
收藏

51CTO技术栈公众号