转载请注明转自 : 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上传文件到服务器(客户端加服务端源码),支持多文件上传
Android上传文件到 net服务器 包含两方代码
android通过HTTP协议上传文件至远程服务器,此示例包含android客户端和服务器端项目,适合初学者
主要为大家详细介绍了Android上传文件到服务器的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android端选择文件上传至服务器端,连同服务器端代码一同给出,小伙伴们,如果有什么好的建议请发送到我的邮箱whsgzcy@foxmail.com
通过http协议实现android的文件上传,服务器端使用servlet实现
android上传文件至服务器提供客户端下载,带有客户端和服务器端源码!
本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理;采用Android+Struts2技术。 一、Android端实现文件上传 1)、新建一个Android项目命名为androidUpload,目录结构如下: 2)、...
上传文件到服务器 将本地文件上传到服务器
Android一个简单实用把Log日志打印到手机本地文件,可以自行取出来上传到服务器开源代码
一个完整的demo用于android客户端上传文件到客户端,由tomcat搭建的服务器服务器,采用文件流的形式准确无误.
实现:将android文件通过服务端上传至服务器; 获取android本地文件,通过调用服务端后台代码进行文件上传。 只需要分别调用移动端uploadMultiFile()方法和服务端upload()方法。
资源来自博客http://blog.csdn.net/footballclub/article/details/43636813,有问题欢迎给我留言,一起探讨!
代码实现了上传一个或者多个文件到apache服务器。
Android 多线程可断点续传上传文件至服务器Demo(Android端编辑器:Android Studio,服务器端编辑器:Eclipse,请注意手机默认下载目录必须要有t007.zip,服务器端必须有D:\temp\temp目录)
Android端上传文件的jar包