Есть ли ограничение на размер параметров StringRequest? - PullRequest
1 голос
/ 21 июня 2019

Я хочу загрузить изображение в кодировке base64 и текст на мой веб-сервер, используя Volley StringRequest.

Когда я непосредственно пытаюсь отправить строку base64, я получаю 'Неожиданный код ответа 503' , но когда я сжимаю изображение, а затем кодирую его, оно работает отлично. Проблема в том, что я не знаю, почему я должен сжимать свое изображение перед отправкой на сервер и сколько я должен сжимать или есть какой-либо другой способ отправить его без сжатия.

base64Encode функция, которую я назвал отлично работающей:

public String getStringImage(Bitmap bitmap){
        ByteArrayOutputStream baos=new  ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG,50, baos);
        byte [] b=baos.toByteArray();
        String temp= Base64.encodeToString(b, Base64.DEFAULT);

        return temp;
    }

Функция base64Encode не работает / выдает ошибку 503:

public String getStringImage(Bitmap bitmap){
        ByteArrayOutputStream baos=new  ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG,100, baos);    
        byte [] b=baos.toByteArray();
        String temp= Base64.encodeToString(b, Base64.DEFAULT);

        return temp;
    }

Строка, которую я хочу, чтобы вы рассмотрели:

bitmap.compress(Bitmap.CompressFormat.JPEG,50, baos);

Когда я изменяю этот параметр сжатия на 100, возникает ошибка сброса.

Я думал, что может быть ограничение размера при выполнении POST REQUEST, или может быть ограничение размера Volley StringRequest, или вообще не может быть ограничений размера.

<--- ОБНОВЛЕНИЕ ---> Если проблема действительно в ограничении размера, то как рассчитать размер JPEG после сжатия с помощью bitmap.compress (Bitmap.CompressFormat.JPEG, 50, baos) без фактического сжатия? Или как узнать, смогу ли я сжать свое изображение в достаточной степени, когда я использую 15 в качестве параметра сжатия?

1 Ответ

0 голосов
/ 21 июня 2019

У меня тоже такая же проблема. Итак, это зависит от конфигурации сервера. Они устанавливают лимит на пост, чтобы получить данные

например,

// Максимальный размер

post_max_size 20M

Итак, вам нужно поговорить со своим внутренним парнем или отправить сжатое изображение.

...