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();
            }
        }
    
    }
  • 相关阅读:
    微信第三方平台开发之代小程序实现业务
    解决Chrome网页编码显示乱码的问题
    .Net Core 使用 System.Drawing.Common 在CentOS下报错
    CentOS安装nmap端口查看工具
    解决Nginx反向代理不会自动对特殊字符进行编码的问题 如gitblit中的~波浪线
    Centos7最小安装化后安装图形界面
    手把手教您在 Windows Server 2019 上使用 Docker
    windows10下安装docker报错:error during connect
    git删除远程分支
    linux下shell显示git当前分支
  • 原文地址:https://www.cnblogs.com/rinack/p/9018740.html
Copyright © 2011-2022 走看看