Флаттер http post запрос ответа нет

#android #laravel #apache #flutter #http

#Android #laravel #apache #флаттер #http

Вопрос:

Я пытаюсь отправить post-запрос из моего мобильного приложения flutter в API laravel, размещенный на ionos.

Проблема, с которой я сталкиваюсь, заключается в том, что на некоторых смартфонах Android при отправке формы иногда загрузчик прогресса загружается неопределенно долго без отображения ошибок, а иногда он работает немедленно.

Я увеличил время ожидания файла int .htaccess моего приложения laravel

 <ifModule mod_env.c>
  SetEnv KeepAlive On
  SetEnv KeepAliveTimeout 100
  SetEnv MaxKeepAliveRequests 500
</ifModule>

<ifModule mod_headers.c>
  Header unset Connection
  Header set Connection keep-alive

  Header unset Keep-Alive
  Header set Keep-Alive timeout=100,max=500
</ifModule>
 

Но проблема сохраняется, она успешно работает на некоторых устройствах (самые последние смартфоны), а иногда нет на других.

Пожалуйста, помогите мне, я сталкиваюсь с проблемой с 2 дней

Код flutter / dart

 sendHouse() async {
    String url = ServerConfigs.api_url   "/house";
    
    final Map<String, dynamic> house = new Map<String, dynamic>();
    house['name'] = name;
    house['img'] = image.path.split("/").last;
    List<int> imageBytes = image.readAsBytesSync();
    house['img64'] = Base64Codec().encode(imageBytes);
    house['lat'] = lat;
    house['lon'] = lon;
    
    final response = await http.post(url, headers: {
      'Accept': 'application/json',
      'Authorization': 'Bearer '   ServerConfigs.bearer_token
    }, body: {
      "data": house
    });

    var data = await json.decode(response.body);
    if (response.statusCode == 200) {
      emitSuccess();
    } else {
      print(data);
      print(response.statusCode);
      emitFailure();
    }
  }
 

Комментарии:

1. Есть ли какая-либо ошибка в laravel.log файле? Можете ли вы также опубликовать код flutter / dart о том, как создается post?

2. @Tpojka в laravel ничего нет. журнал, но я обнаружил в журналах сервера связанные запросы с кодом ошибки 413, его внешний вид соответствует файлу в данных тела. Я добавил код flutter / dart

3. Что у вас response status code ?

4. @SaifulIslam response status code is 413 , я нахожусь на сервере Apache с общим хостингом 1 и 1

5. Если код состояния ответа равен 413, то проблема возникает на стороне сервера. возьмите добычу по этой ссылке. developer.mozilla.org/en-US/docs/Web/HTTP/Status/413

Ответ №1:

Я добавил функцию сжатия к изображению в моем коде dart перед загрузкой, и она решена.