首页 > 解决方案 > 错误:第一个参数必须是 File 或 Blob 对象

问题描述

你好我在选择图像时使用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);
          }
        );

选择图像时出现问题

标签: javascriptnode.jsangularcordovaionic-framework

解决方案


科尔多瓦文件实例与窗口不同。文件科​​尔多瓦创建一个类似对象的文件,但它与something instanceOf File压缩器不同,因为它可能只知道文件和 Blob,而不是科尔多瓦文件。

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

这个插件定义了全局 cordova.file 对象。

虽然在全局范围内,但直到 deviceready 事件之后才可用。

我对cordova或compressorjs了解不多,但听起来你可以在deviceready活动结束后加载compressorjs


推荐阅读