Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
serSeventin
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 131
#1

Передача изображения на сервер - Программирование Android

27.02.2017, 14:41. Просмотров 657. Ответов 3
Метки нет (Все метки)

Здравствуйте уважаемые форумчане. Я все пытаюсь передать изображение на сервер, но никак не могу разобраться, что происходит, вот мой код:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
String absoluteFileName = parameters[0];
            String idItem = parameters[1];
            String fileName = "photo.png";
            String lineEnd = "\r\n";
            String twoHyphens = "--";
            String boundary = "---------------------------303731608612582";
            int bytesRead, bytesAvailable, bufferSize;
            byte[] buffer;
            int maxBufferSize = 1024 * 1024;
            params.clear();
            try {
                URL url = new URL(Global.HTTP_UPLOAD);
                Utils.log(Global.HTTP_UPLOAD);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setReadTimeout(Global.TIMEOUT);
                connection.setConnectTimeout(Global.TIMEOUT);
                connection.setUseCaches(false);
                connection.setDoInput(true);
                connection.setDoOutput(true);
                connection.setRequestProperty("Authorization", "Basic "+Global.CREDENTIALS);
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Connection", "keep-alive");
                connection.setRequestProperty("ENCTYPE", "multipart/form-data");
                connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
                DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
 
                dos.writeBytes(twoHyphens + boundary + lineEnd);
                dos.writeBytes("Content-Disposition: form-data; name="in_iditem""+lineEnd);
                //dos.writeBytes(lineEnd);//-------------------------
                //dos.writeBytes(lineEnd);
                dos.writeBytes(idItem/*+lineEnd+lineEnd*/);
                dos.writeBytes(lineEnd);
 
                dos.writeBytes(twoHyphens + boundary + lineEnd);
                dos.writeBytes("Content-Disposition: form-data; name="in_filename";filename=""+fileName+"""+lineEnd);
                //dos.writeBytes("Content-Type: image/png"+lineEnd);
                dos.writeBytes(lineEnd);
 
                FileInputStream fileInputStream = new FileInputStream(absoluteFileName);
                bytesAvailable = fileInputStream.available();
                bufferSize = Math.min(bytesAvailable, maxBufferSize);
                buffer = new byte[bufferSize];
                bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                while (bytesRead > 0) {
                    dos.write(buffer, 0, bufferSize);
                    bytesAvailable = fileInputStream.available();
                    bufferSize = Math.min(bytesAvailable, maxBufferSize);
                    bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                }
                dos.writeBytes(lineEnd);
                dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
 
                int serverResponseCode = connection.getResponseCode();
                Utils.log(serverResponseCode);
                String serverResponseMessage = connection.getResponseMessage();
                result = serverResponseMessage;
                Utils.log("result = " + result);
Уже чего только не делал, как только writeBytes не менял, но дело в том, что если приходит изображение, то всегда битый iditem, и я не могу занести это изображение в таблицу. Само изображение грузиться нормально, но iditem всегда битый, что делать, кто шарит ПАМАГИТЕ ПАЖАЛУЙСТА!!!
http://www.cyberforum.ru/android-dev/thread1832165.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2017, 14:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача изображения на сервер (Программирование Android):

Передача значения переменой на сервер
Здраствуйте! Например есть у меня переменная, а её значение надо передать на...

Передача фото по сети на сервер
У меня такая задача : нужно реализовать такое приложение чтобы водитель мог...

Передача HTML как строки из Андроида на сервер
Приложение андроида принимает html-строку, которую надо передать на сервер для...

Передача изображения на сервер
Здравствуйте. Не могу принять изображение на сервере. Код клиентской части....

Передача изображения на сервер методом POST
Прощу прощения за возможно глупый вопрос, но уже третий день бъюсь. Суть:...

3
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,375
27.02.2017, 15:19 #2
Брутальные мужики отправляют картинки строкой:
Java
1
 String image= Base64.encodeToString(data, Base64.DEFAULT);
Добавлено через 46 секунд
В коде вообще что-то непонятное происходит.
0
Pablito
2646 / 2128 / 726
Регистрация: 12.05.2014
Сообщений: 7,439
Завершенные тесты: 1
27.02.2017, 15:22 #3
https://github.com/square/okhttp/blo...Multipart.java
0
serSeventin
1 / 1 / 0
Регистрация: 09.11.2015
Сообщений: 131
27.02.2017, 19:19  [ТС] #4
А какого вида должно быть API если использовать Multipart, тем же, что у меня было или нужно изменить?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2017, 19:19
Привет! Вот еще темы с решениями:

передача изображения
Подскажите пожалуйста как под средствами TcpServer1 и TcpClient1 передать...

Передача изображения
Здравствуйте. Есть клиент и сервер (clientsocket и serversocket) как передать...

Передача изображения по UDP
Здравствуйте! Столкнулся с проблемой. Поставили задачу передать изображение по...

Передача изображения по сети
Нужно передать по сети через UDPClient изображение. Проблема в том что там...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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