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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
#1

Функция для загрузки файла на сервер - Программирование Android

23.06.2013, 16:11. Просмотров 2767. Ответов 20
Метки нет (Все метки)

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
public void sendMedia(String urlAddr, String filePath) {
            final String serverAddress = urlAddr;
            final File file = new File(filePath);
            
            Runnable r = new Runnable() {
                public void run() {   
                    try {
                        HttpParams params = new BasicHttpParams();
                        params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
                        DefaultHttpClient mHttpClient = new DefaultHttpClient(params);
                        final HttpPost request = new HttpPost(serverAddress);
                        final MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.STRICT);
                        final FileBody fileBody = new FileBody(file);
                        reqEntity.addPart("p", fileBody);                      
                      //  reqEntity.addPart("id", new StringBody("some string data"));
                        request.setEntity(reqEntity);
                        final HttpResponse response = mHttpClient.execute(request); 
                        
    
                    } catch (Exception e) {
                        showDialog("Ошибка");
                    }
                }
            };
            new Thread(r).start();
        }
как вы думаете, работоспособна ли эта функция ?
использую так
Java
1
2
3
4
5
6
7
8
9
10
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
         super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
         if (resultCode == RESULT_OK) {
             Uri selectedImage = imageReturnedIntent.getData();
             final pictureView img = (pictureView)findViewById(R.id.img);
             img.setImageURI(selectedImage);
             
             sendMedia("http:/.../load.php",selectedImage.toString());
         }
     }
Добавлено через 29 секунд
проверить не могу, тк на эмуляторе файл не выбрать..

Добавлено через 19 часов 58 минут
тестирование на реальном устройстве показало что приложение падает..
т.е. что - то тут не так..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 16:11     Функция для загрузки файла на сервер
Посмотрите здесь:
% загрузки файла Android
Android Передача файла с FTP в папку загрузки Планшета
Ошибка при добавлении файла в очередь загрузки (android.app.DownloadManager) Android
Android При загрузке файла в AsynkTask в строке уведомлений вывести анимацию иконки загрузки
Android Progressbar при передаче файла на сервер
Как выполнить запрос на получения url для загрузки картинки Android
Android Сервер для приложения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
30.06.2013, 16:03  [ТС]     Функция для загрузки файла на сервер #16
а как можно его выцарапать оттуда?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.06.2013, 16:03     Функция для загрузки файла на сервер #17
Java
1
2
3
4
5
6
7
public String getRealPathFromURI(Uri contentUri) {
        String[] proj = { MediaStore.Images.Media.DATA };
        Cursor cursor = managedQuery(contentUri, proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    }
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
04.07.2013, 15:32  [ТС]     Функция для загрузки файла на сервер #18
как из не UI потока вызывать диалоги и тд...?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.07.2013, 21:09     Функция для загрузки файла на сервер #19
только в UI потоке.
чтобы выполнить что-то в UI потоке используйте Handler/AsyncTask/view.post()/activity.runOnUiThread()
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
04.07.2013, 23:33  [ТС]     Функция для загрузки файла на сервер #20
а можно по примерчику дял view.post()/activity.runOnUiThread()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 23:55     Функция для загрузки файла на сервер
Еще ссылки по теме:
Сервер для чата Android
Сервер для приложения Android
Получение хеша бинарного файла сборки для выполняемого apk-файла Android
Android Клиент-сервер для android
Android Клиент-сервер приложение для android

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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.07.2013, 23:55     Функция для загрузки файла на сервер #21
уже без пример 1 метод вызвать не можете?
Yandex
Объявления
04.07.2013, 23:55     Функция для загрузки файла на сервер
Ответ Создать тему
Опции темы

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