Javascript 错误:第一个参数必须是文件或Blob对象
您好,我正在使用compressorjs插件,当选择图像时,问题是 我的密码是:-Javascript 错误:第一个参数必须是文件或Blob对象,javascript,node.js,angular,cordova,ionic-framework,Javascript,Node.js,Angular,Cordova,Ionic Framework,您好,我正在使用compressorjs插件,当选择图像时,问题是 我的密码是:- window.resolveLocalFileSystemURL( imageData, fileEntry => { fileEntry.file(file => { console.log(file); new Compressor(file, {
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);
}
);
cordova文件实例与cordova创建类似文件的对象不同,但与文件实例不同,因为compressorjs可能只了解文件和Blob,而不了解cordova文件 此插件定义全局cordova.file对象 虽然在全局范围内,但它在DeviceRady事件之后才可用
我对cordova或compressorjs了解不多,但在我看来,您可以在
deviceready
事件之后加载compressorjs,正如@Endough所说,您不能使用cdvfile路径,因为它是一个自定义文件路径处理程序,但是您可以将cdvfile路径更改为本机路径
它位于文档的标题将cdvfile://转换为本机路径下
cordova文件实例不同于window.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);