отправить изображение сообщения с метаданными - PullRequest
0 голосов
/ 19 июня 2020

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

Я уже могу опубликовать изображение и дополнительные данные формы. Однако мне также нужны метаданные из ввода. Если я использую onaddfile и регистрирую метаданные, он работает и показывает additional = "1"

<input type="file" id="img" name="img" data-file-metadata-additional="1">

pond=FilePond.create(document.querySelector('#img'),{
  server: {
  process: {
   url: 'opbouw/model/post/addimg.php',
    ondata: (formData) => {
     // > POST META DATA
     formData.append('userid', '2');
     formData.append('usercom', '1');
    return formData;
    }
   }
  },
});

pond.onaddfile = (err, item) => {
  console.log(item);
   const metadata = item.getMetadata();
   console.log(metadata);
 }

Так что не знаю, как опубликовать метаданные

1 Ответ

0 голосов
/ 22 июня 2020

Если вы не собираетесь писать собственный server.process метод , тогда вам придется «запомнить», какие метаданные какому файлу принадлежат.

Примерно так :

<input type="file" id="img" name="img" data-file-metadata-additional="1">

<script>
let pondMetadata;

const pond = FilePond.create(document.querySelector('#img'), {
  server: {
    process: {
      url: 'opbouw/model/post/addimg.php',
      ondata: (formData) => {

        // add metadata
        formData.append('usermeta', JSON.stringify(pondMetadata));

        formData.append('userid', '2');
        formData.append('usercom', '1');
        return formData;
      }
    }
  },
  onaddfile: (err, item) => {
    pondMetadata = item.getMetadata();
  }
});
</script>
...