javascript - 错误:第一个参数必须是 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);
}
);
解决方案
科尔多瓦文件实例与窗口不同。文件科尔多瓦创建一个类似对象的文件,但它与something instanceOf File
压缩器不同,因为它可能只知道文件和 Blob,而不是科尔多瓦文件。
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
这个插件定义了全局 cordova.file 对象。
虽然在全局范围内,但直到 deviceready 事件之后才可用。
我对cordova或compressorjs了解不多,但听起来你可以在deviceready
活动结束后加载compressorjs
推荐阅读
- elixir - 如何在谷歌存储中创建文件夹?灵药
- javascript - 使用带有打字稿的 sequelize cli
- vue.js - 如何右对齐 v-text-field 中的图标并更改颜色?
- node.js - 如何从打字稿中的数组类型中获取类型的索引号?
- android - for循环kotlin android中所有项目的总和
- ruby-on-rails - HTTP Origin 标头 (https://myapp.com) 与 request.base_url (http://myapp.com) 不匹配
- mysql - 如何根据具有相同第二个主键的插入而不是所有条目来增加自动增量主键
- kotlin - 在 REPL 中运行时,Kotlin forEach 有时直到 CTL-C 才会执行?
- r - 如何在R中的多行中添加不同的点?
- python - Python Pandas - 查找丢失的行,然后通过修改复制另一行