HttpURLConnection上傳文件
作者:張勇波
博主發(fā)表的文章,有的是自己原創(chuàng),有的是這些年本人從網(wǎng)上積累的,方便大家學(xué)習(xí)。
- import java.io.BufferedReader;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.URL;
- import sun.net.www.protocol.http.HttpURLConnection;
- /**
- * 主要實(shí)現(xiàn)文件上傳,和接收方綁定接收后信息導(dǎo)入?yún)?shù)傳遞
- * @author zyb
- *
- */
- public class HttpURLConnectionServices {
- /**
- * @param fileName 要上傳的文件,列:e:/upload/SSD4k對(duì)齊分區(qū).zip
- * @param Url 上傳路徑端口號(hào)和項(xiàng)目名稱,列:http://192.168.1.209:9080/gjbmj
- * @param strSiteID 對(duì)方的站點(diǎn)編號(hào)
- * @param strColumnID 對(duì)方的欄目編號(hào)
- * @param strDespatcher 發(fā)送信息人
- * @param strMechanism 發(fā)送信息機(jī)構(gòu)
- * @param strOther1
- */
- public static void post(String fileName ,String Url,String strSiteID,String strColumnID,String strDespatcher,String strMechanism,String strOther1){
- try {
- String fname =fileName;//要上傳的文件
- File file = new File(fname);
- URL url = new URL(Url+"/cms/infoShare/httpURLConnection.jsp");
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setDoOutput(true);
- conn.setDoInput(true);
- conn.setChunkedStreamingMode(1024 * 1024);
- conn.setRequestMethod("POST");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestProperty("Charsert", "UTF-8");
- conn.setConnectTimeout(50000);
- conn.setRequestProperty("Content-Type", "multipart/form-data;file="+ file.getName());
- conn.setRequestProperty("fileName",file.getName());
- conn.setRequestProperty("strSiteID", strSiteID);
- conn.setRequestProperty("strColumnID", strColumnID);
- conn.setRequestProperty("strDespatcher", strDespatcher);
- conn.setRequestProperty("strMechanism", strMechanism);
- conn.setRequestProperty("strOther1", strOther1);
- conn.connect();
- OutputStream out = new DataOutputStream(conn.getOutputStream());
- DataInputStream in = new DataInputStream(new FileInputStream(file));
- int bytes = 0;
- byte[] bufferOut = new byte[2048];
- while ((bytes = in.read(bufferOut)) != -1) {
- out.write(bufferOut, 0, bytes);
- }
- in.close();
- out.flush();
- out.close();
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String line = null;
- while ((line = reader.readLine()) != null) {
- //System.out.println("---line---"+line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- new File(fileName).delete();
- }
- }
- }
【本文是51CTO專欄作者張勇波的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過51CTO獲取作者授權(quán)】
責(zé)任編輯:武曉燕
來源:
上下求索的Z先生博客