分享

java 发送文件(Http Post),带其他参数

 昵称20874412 2015-05-03

除了发送的文件主体之外,还能附加一些其他参数,例如本例中xml文件是主体,然后另外加了一个dataFormat参数,值为hk,其他参数以此类推。

  1. import java.io.DataOutputStream;  
  2. import java.io.File;  
  3. import java.io.FileInputStream;  
  4. import java.net.HttpURLConnection;  
  5. import java.net.URL;  
  6.   
  7. public class SendXML_HK {  
  8.     public static void main(String[] args){  
  9.         try{  
  10.             String boundary = "Boundary-b1ed-4060-99b9-fca7ff59c113"//Could be any string  
  11.             String Enter = "\r\n";  
  12.               
  13.             File xml = new File("C:\\dog.xml");  
  14.             FileInputStream fis = new FileInputStream(xml);  
  15.               
  16.             URL url = new URL("http://localhost/fsly_service/api/hk/receiveXMLResult");  
  17.             HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
  18.             conn.setDoOutput(true);  
  19.             conn.setDoInput(true);  
  20.             conn.setRequestMethod("POST");  
  21.             conn.setUseCaches(false);  
  22.             conn.setInstanceFollowRedirects(true);  
  23.             conn.setRequestProperty("Content-Type","multipart/form-data;boundary=" + boundary);   
  24.               
  25.             conn.connect();  
  26.               
  27.             DataOutputStream dos = new DataOutputStream(conn.getOutputStream());  
  28.             
  29.           //part 1  
  30.             String part1 =  "--" + boundary + Enter  
  31.                     + "Content-Type: application/octet-stream" + Enter  
  32.                     + "Content-Disposition: form-data; filename=\""+xml.getName()+"\"; name=\"file\"" + Enter + Enter;  
  33.           //part 2  
  34.             String part2 = Enter  
  35.                     + "--" + boundary + Enter  
  36.                     + "Content-Type: text/plain" + Enter  
  37.                     + "Content-Disposition: form-data; name=\"dataFormat\"" + Enter + Enter  
  38.                     + "hk" + Enter  
  39.                     + "--" + boundary + "--";  
  40.               
  41.             byte[] xmlBytes = new byte[fis.available()];  
  42.             fis.read(xmlBytes);  
  43.               
  44.             dos.writeBytes(part1);  
  45.             dos.write(xmlBytes);  
  46.             dos.writeBytes(part2);  
  47.               
  48.             dos.flush();  
  49.             dos.close();  
  50.             fis.close();  
  51.               
  52.             System.out.println("status code: "+conn.getResponseCode());  
  53.               
  54.             conn.disconnect();  
  55.               
  56.         }catch(Exception e){  
  57.             e.printStackTrace();  
  58.         }  
  59.           
  60.     }  
  61. }  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多