【问题标题】:not able to read input file content using phonegap无法使用 phonegap 读取输入文件内容
【发布时间】:2014-01-08 21:19:04
【问题描述】:

我正在使用phone gap读取输入文件内容如下

<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' [未定义] 不是函数。

我正在使用android 2.2.1 版本

注意**

它适用于fileEntry 对象,但它不适用于输入标签,我希望有人对此有解决方案

【问题讨论】:

  • 调用函数时做好设备准备。确保在 phonegap api 时添加事件 deviceready
  • 我只在设备准备好后调用函数

标签: android cordova


【解决方案1】:

我认为问题在于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 以从相册中选择图片。

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 2015-09-02
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多