Как преобразовать изображение в base64 в Reaction-Dropzone? - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь внедрить в своем приложении response-dropzone, но не могу опубликовать и всегда получаю Внутреннюю ошибку сервера и ошибку: TypeError: аргумент должен быть похож на байты объект или строка ASCII, а не 'list' в случае, если для публикации данных необходимо использовать convert base64

Это моя функция onDrop

onDrop(uploadData) {
  this.setState({
    uploadData,
  });
}
onDropHandler(uploadData) {
  var uploadData = uploadData[0];
  const reader = new FileReader();
  reader.readAsDataURL(uploadData);
  reader.onload = event => {
    this.setState({
      uploadData: this.state.uploadData([{ base64: event.target.result }]),
    });
  };
  reader.readAsDataURL(uploadData);
}

и это мои методы рендеринга:

<div className="dropzone">
  <Dropzone
    onDrop={this.onDrop.bind(this)}
    accept="image/jpeg, image/png, image/jpg"
    onDrop={uploadData => {
      this.setState({ uploadData });
    }}
    maxSize={200000}
    multiple={false}
  >
    <p>Maksimal 2 MB (JPG/PNG)</p>
  </Dropzone>
  {this.state.uploadData.map(f => (
    <span key={f.name}>
      {f.name} - {f.size} bytes
    </span>
  ))}
</div>

Это сообщение об ошибке после отправки

и это JSON PIC после отправки

...