Я хочу преобразовать изображение пользователя, загруженное с интерфейса RN, в Nodejs без сохранения файлов в локальном хранилище, и преобразовать изображение в base64

#node.js #react-native

Вопрос:

выглядывает

Текущий сценарий выглядит так, как будто я использую функцию распознавания AWS, которая является ssearchFaceByImage, и во время регистрации, когда пользователь загружает изображение, я создаю индексные лица для пользователя, и когда кто-то нажимает изображение, оно будет искать лица в коллекции, но для этого мне нужна строка base64, и когда я использую для этого мультер, я получил

обнаружена ошибка проверки: Значение «java.nio.HeapByteBuffer[pos=0 lim=7889944 cap=7889944]» в «image.bytes» не удовлетворяет ограничению: Элемент должен иметь длину меньше или равную 5242880

 MY CODE

var storage = multer.memoryStorage();
var upload_image = multer({
  storage: storage,
  limits: { fileSize: 20 * 1024 * 1024 },
});



 getFace: (req, res) => {
    console.log("status", req.files);
    var img = req.files[0].buffer.toString("base64");
    console.log(img);
    // console.log(Buffer.byteLength(buf)); //under 5mbytes
    // console.log(Buffer.isBuffer(buf)); //true
    //get the user input image and stored in buffer
    // console.log(Buffer.from(req.files[0].buffer).toString("base64"));
    // var img = Buffer.from(req.files[0].buffer).toString("base64");
    // console.log(img);
    // // console.log("face", req.files);
    // console.log(new Uint8Array.from(Buffer.from(req.files[0].buffer)));
    var params = {
      Attributes: ["DEFAULT"],
      Image: {
        Bytes: img,
      },
    };
    var Rekognition = new AWS.Rekognition({ apiVersion: "2016-06-27" });
    Rekognition.detectFaces(params, (err, data) => {
      if (err) {
        console.log("err", err);
        if (err.statusCode == 400) {
          console.log("Image not exist in Database");
        }
      } else {
        console.log(JSON.stringify(data, null, "t"));
      }
    });
  },

My front END CODE

const file = {
      uri:
        Platform.OS === "ios"
          ? capturedImage.uri.replace("file://", "")
          : image,
      type: "image/jpeg",
      name: capturedImage.uri.substr(capturedImage.uri.lastIndexOf("/")   1),
    };
    const formData = new FormData();
    formData.append("photo", file);
    // console.log("form", form);
    fetch("http://myIp:3000/api/user/detect-face", {
      method: "POST",
      headers: {
        Accept: "application/json",
        "Content-Type": "multipart/form-data",
      },
      body: formData,
    })
      .then((res) => res.json())
      .then((data) => {
        console.log(data);
      })
      .catch((err) => {
        console.log(err);
      });