【问题标题】:cordova inappbrowser and input file科尔多瓦 inappbrowser 和输入文件
【发布时间】:2016-10-05 04:42:25
【问题描述】:

我有一个 iOS 和 Android 应用程序,我在我的应用程序中加载了一个外部网站(这个外部网站也是我的)。 我的问题是这个网站有一个文件上传功能,这个功能在 Android 上不起作用(它在 iOS 上起作用)。 我看到这种行为在 Android 上是正常的,但是有没有办法让它工作或者它绝对不是一个选项? 谢谢

编辑 1

我尝试使用这样的简单页面创建一个新应用程序(托管在 AWS 上):

<html>
<head>
    <title>Upload Test !</title>
</head>
<body>
    <div>Upload Test</div>
    <div>
        <input type="file" id="imgFile" name="files[]" accept="image/x-png, image/gif, image/jpeg">
    </div>      
</body>

我在我的 Cordova 项目中生成的 index.html 中添加了这个脚本。

    <script type="text/javascript">
        document.addEventListener("deviceready", function(event) {
            console.log('TEST CONSOLE LOG !');
            var url = 'https://s3-eu-west-1.amazonaws.com/***/file-upload.html';
            ref = window.open(url, "_blank", "location=no,toolbar=no,zoom=no,hidden=yes");

            ref.addEventListener('loadstop', function () {
              ref.show();
            });
            ref.addEventListener('loaderror', function () {
              ref.close();
              ref = undefined;
            });
        }, false);
    </script>

它不适用于我的 nexus 5 (android M)。

【问题讨论】:

  • 除非有人看到您到目前为止尝试过的代码,否则很难提供帮助。
  • 我有一个简单的
  • 据我所知,输入类型文件似乎对android有一定的问题。如果可行,尝试使用图像选择器插件
  • 是的,输入文件在某些​​ android 版本中存在问题。但适用于最新的 L 和 M。旧设备的解决方法是将其包装在 iFrame 中。
  • 我编辑了我的帖子以包含一个新的测试和一个新的科尔多瓦应用程序。它在我的带有 Android M 的 nexus 5 上不起作用。正常吗?

标签: android cordova file-upload


【解决方案1】:

Android 和 iOS 都存在一个问题,即在 inappbrowser 中单击这样的文件输入标签时会阻止文件上传:

<input type="file">

我已将两个修复程序合并到一个位置,以方便其他面临此问题的人使用。您应该能够修改您的 config.xml 文件以通过包含以下内容来使用它:

<plugin spec="https://github.com/jverlee/cordova-plugin-inappbrowser-camera.git" version="1.1.0" source="git" />

代替默认的inappbrowser插件。

更多细节可以在这里找到: https://github.com/jverlee/cordova-plugin-inappbrowser-camera

【讨论】:

【解决方案2】:

@Verl的代码很不错!但是,无法通过他的安装指南安装...所以这是我的:

cordova plugin remove cordova-plugin-inappbrowser-camera
cordova plugin add https://github.com/jverlee/cordova-plugin-inappbrowser-camera.git

顺便说一句,如果我遵循他的指南,我只会得到: 错误:无法读取未定义的属性“变量”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多