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();
            }
        }
    
    }
  • 相关阅读:
    beanstalkd 安装和配置
    vm虚拟机用批处理启动和关闭
    Windows设置VMware开机自动启动,虚拟机也启动
    批处理脚本学习笔记1--vmware虚拟机启停控制
    Shell中uname命令查看系统内核、版本
    SHELL脚本里执行的东西需要多次回车确认,怎么实现自动回车确认?
    eclipse下搭建shell脚本编辑器--安装开发shell的eclipse插件shelled
    如何进行shell脚本正确性测试
    robot framework
    loadrunner参数化数据分配方法
  • 原文地址:https://www.cnblogs.com/rinack/p/9018740.html
Copyright © 2011-2022 走看看