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

Передача изображения на сервер

27.02.2017, 14:41. Просмотров 672. Ответов 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 всегда битый, что делать, кто шарит ПАМАГИТЕ ПАЖАЛУЙСТА!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2017, 14:41
Ответы с готовыми решениями:

Передача адреса изображения для ViewImage
Здравствуйте. Имеется массив адресов (как я понял): private static final...

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

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

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

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

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

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

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

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


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

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

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