为了使用户能够分发由已经开发的应用程序所创建的媒体,其中的一种方式是将他们发布到在线视频共享网站,例如YouTube、Vimeo或BliP.TV。
因此,为了将文件发布到上述这些服务,就需要实现HTTP文件上传。在Android上有好几种可用来实现HTTP文件上传的方法。其中能够提供最大灵活性的方法是导入和使用Apache的HTTP组件库(http://hc.apache.org/),这些组件并没有完全包含在Android中。
我们需要http-4.0.x.jar,它在HttpClient 4.0.x(GA)中提供,可从http://hc.apache.org/downloads.cgi下载(版本号中的“x”目前是3;当你下载时,版本号可能会更高)。
还将需要Apache Mime4J版本0.6(Apache-Mime4J-0.6.jar)或更高的版本,可从http://james.apache.org/download.cgi下载它。
当构建一个应用程序时,只须将这些文件放入Eclipse项目中,方法是将他们拖动到在Eclipse Package Explorer中的项目文件夹。然后必须在项目属性(Project Properties)中编辑Java构建路径(Java Build Path)。为了在构建路径上包括这些文件,打开Java Build Path 对话框的Libraries选项卡,选择Add JARs选项,最后选择这些文件。
导入上述库之后就可以获得一个MultipartEntity,可以将它用在一个由HttpClient使用的HttpPost请求中。MultipartEntity允许将multipart/form-data样式的帖子发布到服务器。这与浏览器允许用户在表单中选择一个文件上传所使用的机制相同。