转载请注明转自 : http://www.r-base.net/archives/360
我们很多时要与服务器进行接的数据,上传xml文件,服务器进行读取再返回xml文件的方式非常普遍.
就如我的其中一个应用<<足球即时比分>>,更新比分信息时,就上传xml(因为数据量比较大,直接用参数方式不太适合,所以选择以文件作为参数)再由服务器端返回xml文件,再然后读取xml文件进行比分数据的更新操作.
以下的代码是<<足球即时比分>>应用的代码片段,代码只用到了Android自带的API,没有添加其它的jar包,以下代码只在需要上传文件时直接调用就可以了. 如果需要上传多个文件时,可以将多个文件进行压缩成一个文件再进行上传.(如何压缩文件或目录可以看我另一篇博文:[ Android压缩文件(压缩目录) ])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import java.io.File;
import java.text.MessageFormat;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import android.util.Log;
/**
* 上传的url,f 为要上传的文件
* @url 上传的目标url
* @f 要上传的文件
* @return 成功返回true,失败返回false
*/
public static boolean postFile(String url, File f) {
if(url == null || f == null){
return false;
}
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse response = null;
try {
FileEntity entity = new FileEntity(f, "binary/octet-stream");
httpPost.setEntity(entity);
response = client.execute(httpPost);
} catch (Exception e) {
} finally {
}
// 判断上传的状态和打印调试信息
if (response != null
&& response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 打印调试信息,上传的url和上传的文件大小
Log.d("r-base.net",
MessageFormat.format("upload xml success! url = [{0}],
file size = [{1}]",url,f.length()));
return true;
}
return false;
}
|
以上的代码是Android手机端的,在服务器只需要得到Request的InputStream,再写入文件就可以得到上传的文件
服务器的代码如下:
1
2
3
4
|
public String getFile(HttpServletRequest request){
InputSteam in = request.getInputStream();
org.apache.commons.io.IOUtils.copy(in,new OutputStream("c:/upload_file.file"));
}
|
分享到:
相关推荐
在Android平台上,将文件...以上就是Android上传文件到服务器的关键知识点,包括OkHttp的使用、Multipart上传、进度显示、错误处理、权限管理以及线程控制。实际开发中,还需要根据具体需求和服务器API进行调整和优化。
总的来说,Android上传文件到服务器涉及到客户端和服务端的协同工作,包括文件的读取、HTTP请求的构建、服务器接口的设计以及文件的存储。多文件上传只是在单文件上传的基础上进行扩展,需要对每个文件进行同样的...
总之,Android上传文件到.NET服务器涉及客户端与服务器端的交互,需要处理HTTP请求、文件读取和服务器接收等多个环节。通过上述代码示例和注意事项,您可以构建起一个基本的文件上传系统。但实际应用中,可能需要...
Android上传文件到服务器的方法 Android上传文件到服务器的方法是一种常见的功能,在 Android 应用程序中经常会遇到需要将文件上传到服务器的需求。因此,了解如何将文件上传到服务器对于 Android 开发人员非常重要...
在Android开发中,将文件上传到远程服务器是常见的任务,特别是在移动应用中处理用户数据、图片或音频文件时。本文将详细讲解如何使用HTTP协议在Android客户端实现文件上传,并涉及服务器端的相关设置。 首先,我们...
在Android应用开发中,文件上传是一项常见的功能,例如用户可能需要将照片、文档或音频文件发送到服务器进行存储或处理。本教程将详细介绍如何在Android客户端实现文件选择并上传至服务器,同时提供服务器端的处理...
Android上传文件通常涉及`Multipart/form-data`编码方式,这是HTTP协议中用于处理多部分数据的一种格式,常用于文件上传。通过在请求头设置`Content-Type: multipart/form-data`,然后将文件内容作为请求体的一部分...
在Android应用开发中,文件上传是一项常见的功能,通常用于向服务器发送用户生成的数据,如图片、音频或视频。本教程将详细介绍如何通过HTTP协议在Android客户端实现文件上传,并在服务器端使用Servlet进行处理。 ...
在Android应用开发中,有时需要将本地文件上传到服务器,以实现数据同步或者备份功能。在本场景中,我们讨论的是如何将Android设备上的文件上传到由C#编写的Web服务(WebService)。以下是对这个过程的详细解释: 1...
以上就是Android上传文件至服务器并提供客户端下载的基本流程和关键知识点。具体实现时,需要结合实际项目需求和所选技术栈进行调整。提供的源码可以帮助理解并实践这些步骤。在实际开发中,确保遵循最佳实践,提高...
本示例提供了一个完整的Android客户端文件上传到服务器的Demo,服务器端使用了流行的Java Web容器Tomcat。以下是关于这个过程涉及的关键知识点的详细解释。 1. **Android客户端上传文件**:在Android应用中,我们...
标题"Android-AndroidLog日志打印输出到文件方便查看和上传到服务器"所描述的,就是一种将Android应用的日志信息写入到本地文件的方法,以便后续分析或上传到远程服务器。这个方法能够帮助开发者在无法直接访问设备...
压缩文件包含了android端和web端,web端使用myeclipse8.5开发的,...具体实现了手机选择相册图片或者拍照能预览图片并将图片上传到服务器。发布到手机上测试可能需要手动在手机权限管理中打开摄像头和文件读写的权限。
本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理;采用Android+Struts2技术。 一、Android端实现文件上传 1)、新建一个Android项目命名为androidUpload,目录结构如下: 2)、...
理解如何有效地上传文件对于IT专业人士来说至关重要。 #### 1. 文件上传的基本概念 文件上传是指用户或程序通过网络将文件从本地设备传输到远程服务器的过程。这个过程中涉及到客户端(发起上传的一方)和服务器端...
在Android应用开发中,文件上传是一项常见的功能,例如用户可能需要上传照片、文档或音频到服务器进行存储或分享。为了实现这一功能,开发者通常会利用HTTP协议或者更现代的HTTPS协议,通过网络请求库(如Volley、...
在Android开发中,将多个文件上传到服务器是一项常见的任务,特别是在构建移动应用时,用户可能需要分享图片、视频或其他文档。本教程将深入探讨如何实现这个功能,主要针对使用Java编程语言和Apache服务器的情况。 ...
Android 多线程可断点续传上传文件至服务器Demo(Android端编辑器:Android Studio,服务器端编辑器:Eclipse,请注意手机默认下载目录必须要有t007.zip,服务器端必须有D:\temp\temp目录)