фото, сохраняю на устройстве, получаю путь к файлу, декодирую его в строку так:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
Засовываю encodedImage в JSONObject, превращаю всё это в строку, отправляю через OkHTTP вот так:
OkHttpClient client = new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("req", str)
.build();
Request request = new Request.Builder()
.url("myServlet")
.header("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
.post(body)
.build();
Response response = client.newCall(request).execute()
И вот тут вылетает Exception: java.net.SocketException: sendto failed: EPIPE (Broken pipe)
Причем до этого делал всё так же только вместо полного фото получал thumbnail и всё нормально отправлялось, может ли это юыть из-за размера?
Кто-нибудь сталкивался? уже все мозги себе вынес
https://stackoverflow.com/a/14624314/3050249
Обсуждают сегодня