Форум программистов, компьютерный форум CyberForum.ru

Загрузка/отгрузка файлов с авторизацией - Android

Восстановить пароль Регистрация
 
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
20.01.2015, 20:35     Загрузка/отгрузка файлов с авторизацией #1
Авторизация - простой пост запрос с полями логина и пароля. Как войти перед тем как загружать файлы? И как их загружать? Пока что для загрузки аватарки использовал такую штуку
Java
1
2
3
4
5
6
7
8
9
10
11
12
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            InputStream input = connection.getInputStream();
            Bitmap bitmap = BitmapFactory.decodeStream(input);
            ContextWrapper cw = new ContextWrapper(context);
            File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
            File mypath = new File(directory,"profile.jpg");
            FileOutputStream fos = new FileOutputStream(mypath);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
            fos.close();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2015, 20:35     Загрузка/отгрузка файлов с авторизацией
Посмотрите здесь:

Android Загрузка картинки
долгая загрузка Android
Android Загрузка изображения
Activity с авторизацией Android
Выбор веб-сервиса с авторизацией для android клиента Android
Загрузка активити Android
Загрузка 3D модели Android
Сохранение и загрузка файлов Android
Android Загрузка изображения
Android Сохранение и загрузка
Получение списка файлов с ftp сервера с авторизацией Android
Цвет файлов в VCS - поменять синий цвет имен файлов Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
20.01.2015, 20:49     Загрузка/отгрузка файлов с авторизацией #2
Лучше научитесь пользоваться либой ретрофит, очень удобно, сэкономит кучу времени
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
25.01.2015, 13:57  [ТС]     Загрузка/отгрузка файлов с авторизацией #3
Gabberr, все-таки придется использовать стандартные возможности. Написал вот такой код, но он почему-то не работает
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
new AsyncTask<Void,Void,Void>(){
 
            @Override
            protected Void doInBackground(Void... params) {
 
                try {
                    String path = context.getString(R.string.url)+"/"+"download/"+id;
                    Log.wtf("","path: " + path);
                    HttpPost myConnection = new HttpPost(path);
                    HttpResponse response = httpClient.execute(myConnection);
                    InputStream is = response.getEntity().getContent();
                    writeToFile(is);
                } catch (IOException e) {
                    Log.wtf("","Download error");
                    e.printStackTrace();
                }
                return null;
            }
 
            void writeToFile(InputStream inputStream) throws IOException {
                String path = Environment.getExternalStorageDirectory()+"/Downloads/"+file_name;
                Log.wtf("","file path: "+path);
                OutputStream stream = new BufferedOutputStream(new FileOutputStream(path));
                int bufferSize = 1024;
                byte[] buffer = new byte[bufferSize];
                int len = 0;
                while ((len = inputStream.read(buffer)) != -1) {
                    stream.write(buffer, 0, len);
                }
                if(stream!=null)
                    stream.close();
                Log.wtf("","Download Done");
            }
 
        }.execute();
В браузере при переходе на страницу начинается загрузка файла

Добавлено через 14 часов 57 минут
С загрузкой разобрался. Осталась отгрузка
Вот сейчас загрузка выглядит так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
new AsyncTask<Void,Void,Void>(){
 
            @Override
            protected Void doInBackground(Void... params) {
 
                try {
                    String path = context.getString(R.string.url)+"/"+"download/"+id;
                    Log.wtf("","path: " + path);
                    HttpPost myConnection = new HttpPost(path);
                    HttpResponse response = httpClient.execute(myConnection);
                    InputStream is = response.getEntity().getContent();
                    int contentSize = (int) response.getEntity().getContentLength();
                    writeToFile(is,contentSize);
                } catch (IOException e) {
                    Log.wtf("","Download error");
                    e.printStackTrace();
                }
                return null;
            }
 
            void writeToFile(InputStream inputStream,int contentSize) throws IOException {
                String path = Environment.getExternalStorageDirectory()+"/Download/";
                java.io.File file = new java.io.File(path,file_name);
                Log.wtf("","file path: "+path+"\nfile name: "+file_name);
                OutputStream output = new BufferedOutputStream(new FileOutputStream(file));
                Log.wtf("","after output");
                byte[] buffer = new byte[contentSize];
                int len = 0;
                Log.wtf("","before write");
                while ((len = inputStream.read(buffer)) != -1) {
                    output.write(buffer, 0, len);
                    Log.wtf("","writing");
                }
                output.close();
                Log.wtf("","Download Done");
            }
 
        }.execute();
Yandex
Объявления
25.01.2015, 13:57     Загрузка/отгрузка файлов с авторизацией
Ответ Создать тему
Опции темы

Текущее время: 22:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru