如何解决从服务器上在android上下载doc文件
| 嗨,我在服务器上有一个Word文档,我想从android.i下载它,使用以下代码 URL url = new URL(aurl[0]);
URLConnection conexion = url.openConnection();
conexion.setDoOutput(true);
conexion.setConnectTimeout(60000);
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
Log.d(\"ANDRO_ASYNC\",\"Lenght of file: \" + lenghtOfFile);
InputStream input = new BufferedInputStream(conexion.getInputStream());
OutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory() +
\"/abcd.doc\");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
publishProgress(\"\"+(int)((total*100)/lenghtOfFile));
output.write(data,count);
}
output.flush();
output.close();
input.close();`
当我使用示例flickr链接(http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg)尝试此代码时,它可以工作,但是当我尝试服务器URL时,它无法连接。尽管该文件是从浏览器下载的。还可以让我告诉我两个方法openConnection()和connect()有什么区别?
更新:
它也可以在我们的本地主机上正常运行,但不能在服务器上运行。在logcat中,我看到请求时间失败:不支持地址族。需要为Doc文件设置一些内容吗?
解决方法
URL.openConnection();准备建立连接Connect是连接的开始,如果我错了,我想对不起。
JAVADOC说这些
connect()打开与资源的连接。初始连接关闭后,该方法将不会重新连接到资源。
URL.openConnection()打开与此URL指定的远程资源的连接。此连接允许双向数据传输。
希望能有所帮助
,您可能需要设置Word文档的内容类型:
Response.ContentType = \"application/ms-word\";
但是根据版本会有变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。