我正在使用navigator.camera.getPicture(onSuccess, onFail, options)
来挑选图片或视频,但
fileEntry.getFormatData(function (metadata) {
alert("mimeType = " + metadata.type);
}, function () {
alert("fail");
});
alert(JSON.stringify(fileEntry.getMetadata()));
alert('to URL ' + fileEntry.toURL());
alert('name' + fileEntry.name)
以上代码均无效!
实际问题是,当我从Photolibrary中选择一个视频时,它没有提供扩展名,当我使用fileTransfer插件上传它时,它会提供content://zxxxxx/123
这样的路径,它使用mimeType image / jpeg上传,我能做什么这样做?我该如何解决这个问题......所以在服务器上没有转码工作
答案 0 :(得分:0)
fileEntry.file(function(file) {
var slice = file.slice(0,4);
var reader = new FileReader();
reader.onload = function( e ) {
console.log('in reader.load');
onSuccess( fileEntry.toURL(), file.type );
};
reader.onerror = function( e ) {
console.log('error trying to get file: ' + fileName);
};
reader.readAsArrayBuffer( slice );
});
这样,您只需加载前4个字节来检测mime类型,并避免将完整文件加载到内存