window.resolveLocalFileSystemURL не является ошибкой функции (используется с плагином собственного файла ioni c и плагином файла Cordova) - PullRequest
0 голосов
/ 07 мая 2020

Это следующий код для face-api- js monkeyPatch

  • Использование face-api- js
  • Использование ioni c собственный файл @ionic-native/file
  • Использование плагина файла cordova cordova-plugin-file
  • вызов window.resolveLocalFileSystemURL после готовности платформы
  • Также попробовал функцию ioni c native file resolveLocalFilesystemUrl, но выдает ошибку. Затем of undefined this.file.resolveLocalFilesystemUrl(absolute_url).then((entry:Entry)=>{console.log(entry)});
  • Все пробовали, но безуспешно
async function loadModel () {
  const filePathRoot = 'android_assets/www/assets/models/';
  faceapi.env.monkeyPatch({
      readFile: filePath =>
        new Promise(resolve => {
          this.platform.ready().then(()=>{
            window.resolveLocalFileSystemURL(`file:///${filePath}`, onSuccess, onError);
            function onSuccess(fileEntry) {

              fileEntry.file(
                function (file) {
                  var reader = new FileReader();

                  let fileExtension = filePath
                    .split("?")[0]
                    .split(".")
                    .pop();

                  if (fileExtension === "json") {
                    reader.onloadend = function (e) {
                      const data = JSON.parse(e.target.result.toString())
                      resolve(data);
                    };
                    reader.readAsText(file);
                  }
                }
              );
            }

            function onError(err) {
              console.log('this is window.resolve', err);
            }
          })
        }),
      Canvas: HTMLCanvasElement,
      Image: HTMLImageElement,
      ImageData: ImageData,
      Video: HTMLVideoElement,
      createCanvasElement: () => document.createElement("canvas"),
      createImageElement: () => document.createElement("img")
    });


      await faceapi.nets.tinyFaceDetector.loadFromDisk(filePathRoot),
      await faceapi.nets.faceRecognitionNet.loadFromDisk(filePathRoot),
      await faceapi.nets.faceLandmark68Net.loadFromDisk(filePathRoot)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...