Ошибка: первый аргумент должен быть объектом File или Blob - PullRequest
0 голосов
/ 27 июня 2019

Здравствуйте. Я использую плагин compressorjs, когда выбираем изображения, затем выдаем

https://www.npmjs.com/package/compressorjs

Мой код: -

window.resolveLocalFileSystemURL(
          imageData,
          fileEntry => {
            fileEntry.file(file => {
              console.log(file);
              new Compressor(file, {
                quality: 0.6,
                success: result => {
                  console.log(result, result.size);
                },
                error: err => {
                  console.log(err);
                }
              });
            });
          },
          err => {
            console.log(err);
          }
        );

Getting issue when select images

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Как @endless сказал, что вы не можете использовать путь cdvfile, потому что это пользовательский обработчик пути к файлу, однако вы можете изменить путь cdvfile на собственный путь

Это под заголовком Converting cdvfile:// to native path в документации https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/

document.addEventListener("deviceready", function(){
    resolveLocalFileSystemURL('cdvfile://localhost/temporary/path/to/file.mp4', 
        function(entry) {
            var nativePath = entry.toURL();
            console.log('Native URI: ' + nativePath);
        }
    );

}, false);
0 голосов
/ 27 июня 2019

Экземпляр файла cordova не совпадает с window.File cordova создает файл-подобный объект, но это не то же самое, что something instanceOf File cuz compressorjs, вероятно, знает только File и Blob, но не Кордова файлы.

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/

Этот плагин определяет глобальный объект cordova.file.

Хотя в глобальной области он недоступен до окончания события deviceready.

Я мало что знаю о cordova или compressorjs, но мне кажется, что вы можете загрузить compressjs после события deviceready

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...