HttpClient 中的putMethod上传100M的文件怎么设置,我上传小的不报错。20M就报java heap space 异常。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpClient 中的putMethod上传100M的文件怎么设置,我上传小的不报错。20M就报java heap space 异常。相关的知识,希望对你有一定的参考价值。

代码:
//上传文件
PutMethod put = new PutMethod(url + "tt.rar");
RequestEntity requestEntity = new InputStreamRequestEntity(
new FileInputStream("C:\\tqb\\mysql.rar"));
put.setRequestEntity(requestEntity);
client.executeMethod(put);
这里用的是jackrabbit中的putMethod方法,其实跟HttpClient中差不多。求教如何实现,上面的方法可以上传小文件,几十兆的就不行了,怎么处理,求教ing。。。

参考技术A java heap space 异常是jvm内存溢出,可以尝试调大jvm分配的内存最大值,检查程序是否有代码导致资源没有释放。 参考技术B 把大文件切成小文件,每次传上去的不要超过限制就行了。下载的时候,再把他们拼起来。

使用HttpClient实现文件上传和下载

  HttpClient

  HttpClient实现HTTP文件通用下载类

  HttpClient学习整理

  HttpClient根据url进行网页下载

  JAVA中使用HTTPclient访问url取得数据

 

  maven配置httpclient3.X jar包

     <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.0.1</version>
        </dependency>

以上是关于HttpClient 中的putMethod上传100M的文件怎么设置,我上传小的不报错。20M就报java heap space 异常。的主要内容,如果未能解决你的问题,请参考以下文章

小心 HttpClient 中的 FormUrlEncodeContent 的 bug

HttpClient.PostAsync 用于上传文件

HttpClient 从 URL 下载图片然后上传图片

论httpclient上传带参数commons-httpclient和apache httpclient区别

使用 HttpClient 上传图片

java模拟http请求上传文件,基于Apache的httpclient