Загрузка изображения с веб-камеры с помощью ajax: иногда изображение сохраняется только частично.Что мне не хватает? - PullRequest
0 голосов
/ 21 мая 2019

Я работаю над веб-приложением, где делаю снимок клиента (фактически две картинки) и загружаю его с помощью Ajax. Я делаю base64 кодирование перед загрузкой, и данные довольно большие (1,4 МБ) Ajax вызывает скрипт php, переворачивает данные и php сохраняет их в базе данных mysql. В большинстве случаев все работает нормально, но иногда сохраняется только часть изображения. Каждый раз одинаковое количество картинок сохраняется. Поэтому, когда у меня есть 30 КБ первого изображения в БД, у меня также есть 30 КБ второго изображения.

Чего мне не хватает и почему я получаю фрагменты в моей БД? Кроме того: объем данных довольно большой (около 1,4-1,7 МБ на изображение) Как я могу уменьшить это?

Я разделил процесс. Первый скрипт php получает данные записи, а второй вызывается для каждого изображения.

$.ajax({
      type: "POST",
      url: "ajax/upload_facefit_session_image.php",
      data: {
          session_name: name,
          imgBase64_user: data_user
      },
      success: function (response) {
        success = 1;
        console.log(response);
      },
      error: function (xhr, ajaxOptions, thrownError) {
        console.log(xhr.status);
        console.log(xhr.responseText);
      }
  });

Я не видел никаких ошибок в моих сессиях еще. Но я видел искалеченные данные в БД.

1 Ответ

0 голосов
/ 22 мая 2019

Ну, я узнал, что показал кнопку для перезагрузки и запуска слишком рано, пока данные загружались в фоновом режиме.Я решил это сейчас, показав кнопку позже.

Я все еще работаю над сжатием данных, потому что 2x1,4-1,7 МБ это слишком много

...