文件管理 · 2022年8月15日

httpclient下载大文件|android httpclient 支持多大的文件

① 如何用httpclient 获取html中的 pdf文件进行下载并保存在电脑 ,我做到获

前提是html有pdf地址或者相关信息,否则无法获取

② android httpclient 支持多大的文件

一、引入三个jar 包:commons-codec-1.3.jarcommons-httpclient-3.1.jarcommons-logging-1.1.jar二、将sd卡中的文件上传到服务器上。1、在layout下的布局xml文件:<EditText //文本框 ,被上传文件的路径。android:id="@+id/et_file_path"android:layout_width="match_parent"android:text="/mnt/sdcard/a.jpg"android:layout_height="wrap_content" ></EditText><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="uploadfile"//指定按钮点击的事件android:text="上传文件" />2、在activity类中的 上传按钮的点击的方法// 把sd卡上的文件上传到服务器上public voiploadfile(View view){//获取被上传文件的路径String filepath = et_file_path.getText().toString().trim();if(TextUtils.isEmpty(filepath)){Toast.makeText(this,"文件路径不能为空", 0).show();return ;}File file = new File(filepath);if(file.exists()){//判断上传的文件是否存在//获取上传文件的服务端的路径String path =getResources().getString(R.string.uploarl);//调用做上传的方法;String result =NetService.uploadfile(path, file);if(result!=null){Toast.makeText(this,result, 0).show();}else{Toast.makeText(this,"上传文件失败", 0).show();}}else{Toast.makeText(this,"文件不存在", 0).show();return ;}}}3、在service中做上传的方法:public static String uploadfile(String path, File file) {try {PostMethod filePost = newPostMethod(path);//指定上传的文件和参数Part[] parts = { new StringPart("name","zhangsan"),newStringPart("password", "123"),//参数newFilePart("file", file) };//上传的文件//设置请求体filePost.setRequestEntity(new MultipartRequestEntity(parts,filePost.getParams()));//创建httpClient对象org.apache.commons.httpclient.HttpClient client = neworg.apache.commons.httpclient.HttpClient();//设置超时时长5秒client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);//执行int status = client.executeMethod(filePost);return "上传成功";}catch (Exception e) {return "上传失败";}finally {//filePost.releaseConnection();}}

③ 用HttpClient从服务器下载图片的时候connect问题

什么方式提供密码,看HTTP SERVER的。如果是HTTP的认证,就要先POST用户、密码进行认证,再使用session去进行普通的HTTP访问;没做,就会有这样的错误提示了 403之类请参考 http://wenku..com/view/11b0200cf12d2af90242e654.html

④ java 下载问题

apache直接把文件的路径给到,点击就能直接下载了,其实第三方包也就那样吧,大文件你可以使用FTP来下载,使用FTP读取文件然后返回数据流,再有就是java处理这个流了,我建议是自己写,可以建buffer或者缓存啥的比较方便,java下载的第三方包没怎么用过,用的比较多的就是FTP了

⑤ 如何使用HttpClient

HttpClient简单使用准备 Apache官网下载 HttpClient , 下不了的点击这里,下载完后解压取lib文件夹中jar包导入到项目中在进行本例之前需要了解三个类 HttpClient 代表Http客户端 里面定义了很多http 请求执行行为 HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例 HttpConnection 代表http连接public class HttpCLientDemo{ // HttpClient 代表Http客户端 // HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例 // HttpConnection 代表http连接 /** * @param args */ public static void main(String[] args) { // 创建默认的客户端实例 HttpClient httpCLient = new DefaultHttpClient(); // 创建get请求实例 HttpGet httpget = new HttpGet("http://www..com"); System.out.println("executing request "+httpget.getURI()); try { // 客户端执行get请求 返回响应实体 HttpResponse response = httpCLient.execute(httpget); // 服务器响应状态行 System.out.println(response.getStatusLine()); Header[] heads = response.getAllHeaders(); // 打印所有响应头 for(Header h:heads){ System.out.println(h.getName()+":"+h.getValue()); } // 获取响应消息实体 HttpEntity entity = response.getEntity(); System.out.println("————————————");if(entity != null){ //响应内容 System.out.println(EntityUtils.toString(entity)); System.out.println("—————————————-"); // 响应内容长度 System.out.println("响应内容长度:"+entity.getContentLength()); } } catch (ClientProtocolException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); }finally{ httpCLient.getConnectionManager().shutdown(); } }}

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

把大文件切成小文件,每次传上去的不要超过限制就行了。下载的时候,再把他们拼起来。

⑦ 如何用httpclient 下载文件,其中文件的网址和普通的链接网址一样

官方下载那里面,就有例子。普通的文件,就当一般的文件流输出即可

⑧ java如何下载和安装org.apache.commons.httpclient的jar包

去apache官网下。跟着步骤安装就行了。

⑨ 为什么httpClient.executeMethod超时时间无效

原来SocketTimeout设置的超时是指指定时间内服务器端没有反应,而如果两次反应之间的时间间隔小于设置的值是不算超时的。想想也是,下载大文件的超时肯定不能拿整个时间来计算。

⑩ httpclient和直接使用jdk自己的URL类进行文件下载的区别

用Http Client进行下载只是它的一小部分功能。Http Client是模拟Http请求的,所有的请求的Http头都可以写,还可以控制Cookie(能自动登录网页)。