zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    
    }
  • 相关阅读:
    ASP.NET里面,如果设置了form的 onsubmit="return false;"之后,就不能提交按钮了?
    存储过程(待填)
    关于电脑屏幕分辨率太高字太小怎么解决?
    最新版Android开发工具
    Xamarin For Visual Studio 3.0.54.0 完整离线破解版(C# 开发Android、IOS工具 吾乐吧软件站分享)
    ubuntu 16.04 source (HUST and 163)
    transmission简单使用
    Test Tex
    What is a Statistic?
    IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍[zz]
  • 原文地址:https://www.cnblogs.com/rinack/p/9018740.html
Copyright © 2011-2022 走看看