Я отправляю изображение на базе base64 на сервере. Я использовал для хранения его в переменной, которую я отправлю в сообщение на сервер, , но мой сервер дает мне статус ответа 503 или требует времени. Что такое лучший способ отправить длинную строку или сжать значение контента для отправки на сервер?Лучший способ отправить длинную строку base64 на сервер
0
A
ответ
0
Первый шаг: преобразовать изображение в Base64 строку
byte[] bytes = new byte[(int)file.length()];
FileInputStream fileInputStreamReader = getFileStream();
fileInputStreamReader.read(bytes);
return new String(Base64.encodeToString(bytes, Base64.DEFAULT));
Второй шаг отправить запрос
Base64UploadRequest request = new Base64UploadRequest(this, uploadId, ApiConfig.UPLOAD_HOST + "/raw");
request.addHeader("Connection", "keep-alive");
request.addHeader("Keep-Alive", "timeout=600, max=100");
request.addHeader("Content-Type", "application/x-www-form-urlencoded");
request.addParameter("source", base64String());
request.addParameter("extension", extension);
request.setNotificationConfig(getNotificationConfig("Envoie des photos"));
request.setMaxRetries(3);
request.startUpload();
Но время Серверные когда base64 строка слишком длинная
get_client_block(102400) failed
Internal error on sending request(POST //raw HTTP/1.1); uri(/public/index.php?/raw) content-length(361157): SendRequest: prepare(): user_get_body(bodyLocalBuf, 102400): read from client failed
503 является общая ошибка сервера. Проверьте лог-файлы веб-сервера. –
Внутренняя ошибка при отправке запроса (POST // raw HTTP/1.1); uri (/public/index.php?/raw) content-length (7900243): SendRequest: prepare(): user_get_body (restBodyInFile, 3933536): чтение с отказавшего клиента это ответ сервера, когда строка длинна – Christopher
Отправьте свой код. –