我有一个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)不起作用。
答案 0 :(得分:0)
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
答案 1 :(得分:0)
@Verl
的代码非常好!但是,它不能通过他的安装指南安装......所以这是我的:
cordova plugin remove cordova-plugin-inappbrowser-camera
cordova plugin add https://github.com/jverlee/cordova-plugin-inappbrowser-camera.git
顺便说一句,如果我按照他的指南,我只会得到: 错误:无法读取属性&#39;变量&#39;未定义的