скачать документ на андроид с сервера - PullRequest
0 голосов
/ 13 апреля 2011

Привет, у меня есть текстовый документ на сервере, который я хочу скачать с android. Я использую следующий код

               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, 0, count);
                }

                output.flush();
                output.close();
                input.close();`

когда я пробую этот код с примером ссылки flickr (http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg), он работает, но когда я пробую URL-адрес моего сервера, он не подключается. Однако файл загружается из браузера. Также кто-то может сказать мне, в чем разница между двумя методами openConnection () и connect ()?

Обновление:

Он также отлично работает с нашим локальным хостом, но не на сервере. В logcat я вижу, время запроса не выполнено: семейство адресов не поддерживается. Что-то нужно установить для файлов Doc?

Ответы [ 2 ]

0 голосов
/ 31 августа 2013

Вам может потребоваться установить тип содержимого для документов Word:

Response.ContentType = "application/ms-word"; 

Но возможны различия в зависимости от версии.

0 голосов
/ 13 апреля 2011

URL.openConnection ();готовит соединение, которое необходимо установить. Соединение - это начало соединения.

ТАК ЭТО В JAVADOC

connect () Открывает соединение с ресурсом.Этот метод не будет повторно подключаться к ресурсу после закрытия начального подключения.

URL.openConnection () Открывает подключение к удаленному ресурсу, указанному в этом URL.Это соединение позволяет двунаправленную передачу данных.

надеюсь, что это помогло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...