Реагировать на собственное преобразование файлов - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь преобразовать аудиофайл в Base64String для загрузки на сервер.По определенным причинам я хочу сделать это по телефону, прежде чем загружать это.Я использую React Native внутри набора Expo.

Моя файловая структура выглядит следующим образом:

let uriParts = uri.split('.');
let fileType = uriParts[uriParts.length - 1];

let formData = new FormData();
formData.append('file', {
  uri,
  name: `file.${fileType}`,
  type: `audio/${fileType}`,
});

Предположим, у нас есть URI, и это аудио-файл .wav

Я смог сделать это преобразование с сервером NodeJS, где multer выполнял тяжелую работу.

Это даст буфер для маршрута, а затем я смогу преобразовать буфер в строку base64, а затем отправить его на другой сервер для обработки буфера.

Любая идея, как это сделатьна React Native или чисто на фронтэнде?

Спасибо!

1 Ответ

0 голосов
/ 16 сентября 2018

Вы можете использовать FileReader class.

  var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function () {
     console.log(reader.result);
   };
   reader.onerror = function (error) {
     console.log('Error: ', error);
   };

Или вы можете отправить как blob (Это не base64). Использовать https://github.com/wkh237/react-native-fetch-blob библиотека

...