从服务器上在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\"; 
但是根据版本会有变化。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...