我使用手机间隙读取输入文件内容如下
<input type="file" id="sendFile" class="ui-input-text ui-body-c">
在我的java脚本中,我按如下方式读取它,此函数被调用一次 设备准备就绪
function readImage() {
var fileInput = document.getElementById('sendFile');
var tfile = fileInput.files[0];
var FR= new FileReader();
FR.onloadend = function(e) {
console.log("success");
}
FR.readAsDataURL(tfile);
}
我得到了以下错误,我不知道为什么会在那里以及如何解决它
file:///android_asset/www/cordova.js:第1064行:processMessage 失败:错误:TypeError:表达式的结果 'this._realReader.readAsDataURL'[undefined]不是函数。
我正在使用android 2.2.1
版本
请注意**
它适用于fileEntry
对象,但它不适用于输入标记,我希望任何人都有这个解决方案
答案 0 :(得分:0)
我认为问题在于android 2.x中的浏览器没有完全实现html5文件api。
如果你看一下你从android 2上的文件输入获得的文件对象的属性,有些像lastModifiedDate一样缺失,而且大多数函数也不存在。
在Android 4.2.2设备中运行相同的代码非常有效:(
不幸的是,要从文件输入中获取文件对象,您不依赖于phonegap功能,而是依赖于设备上默认浏览器的html5文件api的支持。
似乎在android上文件api是only supported starting with version 3.x
如果您只想支持图片,可以使用 Phonegap camera plugin并将Camera.sourceType设置为Camera.PictureSourceType.PHOTOLIBRARY以从相册中选择图片。