2016-07-18 3 views
0

Я отправляю изображение на базе base64 на сервере. Я использовал для хранения его в переменной, которую я отправлю в сообщение на сервер, , но мой сервер дает мне статус ответа 503 или требует времени. Что такое лучший способ отправить длинную строку или сжать значение контента для отправки на сервер?Лучший способ отправить длинную строку base64 на сервер

+1

503 является общая ошибка сервера. Проверьте лог-файлы веб-сервера. –

+0

Внутренняя ошибка при отправке запроса (POST // raw HTTP/1.1); uri (/public/index.php?/raw) content-length (7900243): SendRequest: prepare(): user_get_body (restBodyInFile, 3933536): чтение с отказавшего клиента это ответ сервера, когда строка длинна – Christopher

+0

Отправьте свой код. –

ответ

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 
Смежные вопросы