从Android上传到服务器的首选方法是什么?
问题描述:
我一直在试图找到一种方法将视频从Android设备上传到API,但我还没有找到一个好方法来做到这一点。看来我在网上找到的大部分信息都是过时的(大部分是从去年开始的)。他们大多数使用这样的方法:http://getablogger.blogspot.com/2008/01/android-how-to-post-file-to-php-server.html从Android上传到服务器的首选方法是什么?
什么是最简单/首选的方式上传东西到一个API与多部分POST?
答
我有一个Android应用程序,我正在开发针对篝火聊天服务的“API”。这里的代码上传通过多POST文件:
后的“dos.close()”行有关检查响应来检测后是否成功的一切。
并非所有内容都对每个多部分职位都是必需的;例如,X-Requested-With标题特定于Campfire,User-Agent是可选的,Cookie是因为我必须保持登录状态。此外,关于间隔的“OH MY GOD”评论可能是Campfire特定的。
我听说Apache的HttpClient库的最新版本有更方便的内置多部分支持,但谷歌针对Android执行的最后一个同步并没有包含这些功能,所以我在这里手动做。
希望这有些帮助。
答
您可以使用Apache Software Foundation的HttpClient。它是Android API的一部分:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("www.somewebpage.com/site-that-can-handle-post");
try {
MultipartEntity entity = new MultipartEntity();
entity.addPart("timestamp", new StringBody("1311789946"));
entity.addPart("image", new FileBody(new File("/foo/bar/video.mpeg")));
httppost.setEntity(entity);
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
Log.v(MyActivity.TAG, "doh!", e);
}
希望有所帮助。 :)
如果我的答案是有帮助的,我会很感激,如果你接受它。否则,请让我知道我可以得到更多的帮助。 – Konklone 2010-01-04 18:10:15