public void sendFileToServer (String url, File logFiles) {
        HttpURLConnection connection = null;
        OutputStream os = null;
        DataInputStream is = null;
        try {
//            StringBuilder fullUrl = new StringBuilder(url);
            connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/octet-stream");
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestProperty("Connection", "Keep-Alive");
            connection.addRequestProperty("uid", "1935");
            connection.addRequestProperty("strlen","11791");
            connection.addRequestProperty("bid","16");
            connection.addRequestProperty("count", "1");
            connection.addRequestProperty("num", "1");
            connection.addRequestProperty("type", "3");
//            if (customizedHeader != null)  
//                for (String key : customizedHeader.keySet()) {  
//                    connection.addRequestProperty(key, customizedHeader.get(key));  
//                }
            connection.connect();
            FileInputStream iso = new FileInputStream (logFiles);
            os = new BufferedOutputStream(connection.getOutputStream());
            
            byte[] buffer = new byte[4096];
            int bytes_read;
            while ((bytes_read = iso.read(buffer)) != -1) {
                os.write(buffer, 0, bytes_read);
            }
            os.close();
            iso.close();
            
            System.out.println("Done... ");
            
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                System.out.println("Upload file success" + connection.getResponseCode());
                System.out.println(connection.getContent());
                System.out.println(connection.getResponseMessage());
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e1) {
            e1.printStackTrace();
        }finally {
            try {
                if(os != null) {
                    os.close();
                }
            } catch (IOException e) {
                System.out.println(e.toString());
            }
            try {
                if(is != null) {
                    is.close();
                }
            } catch (IOException e) {
                System.out.println(e.toString());
            }
            if(connection != null) {
                connection.disconnect();
            }
           }
    }

java httpclient post 文件到server的更多相关文章

  1. eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。

    eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as  -  run ...

  2. HttpClient构造文件上传

    在项目中我们有时候需要使用到其他第三方的api,而有些api要求我们上传文件,search一下,下面将结果记录一下喽! 含义 ENCTYPE="multipart/form-data&quo ...

  3. Android端通过HttpURLConnection上传文件到server

    Android端通过HttpURLConnection上传文件到server 一:实现原理 近期在做Androidclient的应用开发,涉及到要把图片上传到后台server中.自己选择了做Sprin ...

  4. Java FtpClient 实现文件上传服务

    一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...

  5. Java实现FTP文件与文件夹的上传和下载

    Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...

  6. 【原创】用JAVA实现大文件上传及显示进度信息

    用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...

  7. JAVA操作properties文件

    va中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties ...

  8. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

  9. java上传文件获取跟目录的办法

    在java中获得文件的路径在我们做上传文件操作时是不可避免的.web 上运行1:this.getClass().getClassLoader().getResource("/"). ...

随机推荐

  1. nyoj832 合并游戏(状态压缩DP)

    题意 : n个石子, 给你一个n*n矩阵, A[i][j]表示第i个和第j个合并蹦出的金币值, 合并完石子 j 消失.求合并所有石子后,所得的最大金币数. 分析 :     1. 题中给的数据范围   ...

  2. Android XML解析

    解析XML有三种方式:Dom.SAX.Pull 其中pull解析器运行方式与SAX类似. 我们首先认识pull解析器:http://developer.android.com/intl/zh-cn/r ...

  3. ThinkPad E40无线网卡驱动安装 FOR CENTOS6.3

    1.看一下咱们用的本本的无线是咋子无线网卡,如下: [root@liaohg Downloads]# lspci | grep Wireless 03:00.0 Network controller: ...

  4. _In_ 是什么意思

    函数参数类型前 _In_代表什么     在visual C++中属于SAL批注,是为了编译系统在分析代码时发现缺陷用的   表示是一个输入参数.可以定义一个_In_的宏,这个宏什么都不做, 就是形如 ...

  5. Struts1和Struts2的区别和对比(完整版)

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...

  6. mysql嵌套查询

    select * from(select t.`name` `name`,count(*) count from company t group by t.`name`) aa where aa.co ...

  7. html + ashx 实现Ajax省市联动

    基本思路:1.了解数据库中省和市的表结构及关联主键 2.创建html页面及select标签 3.通过ajax向ashx(一般处理程序)发送后台请求完成联动效果 表结构: 这里,开始创建一个命为demo ...

  8. JDBC——数据层DAO

    DAO:Data Access Object DAO 数据层 Service 逻辑业务层 View  视图层 entity   实体层 实现增.删.改.查的数据层 public class EmpDA ...

  9. 【转】 iOS 学习之 NSPredicate 模糊、精确、查询

    简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPred ...

  10. Chi Square Distance

    The chi squared distance d(x,y) is, as you already know, a distance between two histograms x=[x_1,.. ...