无法使用phonegap读取输入文件内容

时间:2014-01-08 21:19:05

标签: android cordova

我使用手机间隙读取输入文件内容如下

<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对象,但它不适用于输入标记,我希望任何人都有这个解决方案

1 个答案:

答案 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以从相册中选择图片。