Не удается получить буфер файлов

#reactjs #file #stripe-payments

Вопрос:

Я пытаюсь загрузить файл в Stripe через их SDK, и я продолжаю получать сообщение об ошибке

 TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.
 

это мой код :

  const [selectedFile, setSelectedFile] = useState(null);
 
sdk.stripeAccount.fetch().then(res => {

  return stripe.files.create({
    purpose: 'identity_document',
    file: {
      data: selectedFile,
      name: selectedFile.name,
      type: 'application/octet-stream',
       },
     }).then(response => {
       console.log(response)
       console.log(res.data.data)
     });

 }).catch(error => console.log(error))

 ...........

 const onFileChange = (event) => {
  setSelectedFile(event.target.files[0]);
    }

 <input type="file" id={`${props.fieldId}.frontId`} onChange={props.onFileChange}/> 
 

Все это происходит во внешнем интерфейсе. Как я могу преобразовать файл в правильный формат, чтобы не получить ошибку ?

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

1. Похоже, что вы пытаетесь использовать пакет stripe-node на интерфейсе. Это чрезвычайно опасно, так как для работы требуется секретный ключ, а это означает, что вы раскрываете свой ключ всем. stripe-узел и ваш секретный ключ API должны использоваться только на сервере, где он может храниться в безопасности. Вам нужно загрузить файл на свой сервер, а затем выполнить передачу в Stripe через stripe-узел.