HttpURLConnection上传文件

HttpURLConnection上传文件

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;  
/** 
 * 主要实现文件上传,和接收方绑定接收后信息导入参数传递 
 * @author zyb 
 * 
 */  
public class HttpURLConnectionServices {  
    /** 
     * @param fileName 要上传的文件,列:e:/upload/SSD4k对齐分区.zip 
     * @param Url 上传路径端口号和项目名称,列:http://192.168.1.209:9080/gjbmj 
     * @param strSiteID 对方的站点编号 
     * @param strColumnID 对方的栏目编号 
     * @param strDespatcher 发送信息人 
     * @param strMechanism 发送信息机构 
     * @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();  
        }  
    }  

}  

 上一篇
HttpClient的基本用法 HttpClient的基本用法
HttpClient的基本用法虽然在JDK的java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Comm
2019-08-19
下一篇 
ID生成工具类 ID生成工具类
ID生成工具类package com.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; /** * ID生
2019-08-19
  目录