允许Phonegap 的inappbrowser 访问手机图库?
Posted
技术标签:
【中文标题】允许Phonegap 的inappbrowser 访问手机图库?【英文标题】:Allow Phonegap's inappbrowser to access phone gallery? 【发布时间】:2016-03-21 18:56:11 【问题描述】:我们的应用程序使用 Phonegap 的 inappbrowser 指向我们的网站。我们的网站(用 Laravel 编写)有一个编辑个人资料页面,您可以在其中上传个人资料图片。这在桌面上运行良好,但在 Phonegap 应用程序中点击“选择图片”按钮不会调出 android 文件系统或图库。我已经为 Cordova 安装了文件系统插件和文件传输插件,它没有任何区别。我唯一的选择真的是使用 JS 为 Phonegap 重新编写应用程序的这一部分吗?
【问题讨论】:
我认为您可能会在您的应用中为此使用 iframe。 看看这个:http://caniuse.com/#feat=input-file-accept。如果您使用的是 InAppBrowser,我建议您将其与_system
标志一起使用以避免出现问题。
@johnborges - 该链接似乎表明<input type="file"
在 Android 4.4 及更高版本上被完全阻止,但如果我使用 Android 互联网浏览器导航到我们的个人资料编辑页面并点击“选择图片”按钮它会打开画廊/文件选择器对话框。这意味着它可能不是 Android 问题,而实际上是应用程序浏览器问题。
【参考方案1】:
<input type="file"
在移动设备上有很多已知错误,一般 Android WebViews 不支持。我建议使用FileTransfer Plugin 来完成您想要做的事情。使用本插件的上传方式手动将文件上传到远程服务器。另请查看Camera Plugin 以选择设备上要上传的图像。
【讨论】:
【参考方案2】:安装插件 cordova camera 和 FileTransfer,我认为这比任何类型的输入都更能帮助你,记得在默认浏览器和操作系统中工作通常会因不同的 html 属性而失败。有几种方法可以从设备获取图片以上传到服务器。如果您只在 Android 上工作,请在多台设备上检查您的代码,因为在某些型号(主要是摩托罗拉)中,我的错我经常是一个代码,如果它在三星中工作。始终保留更新的插件。
Plugin Camera
FileTransfer
【讨论】:
以上是关于允许Phonegap 的inappbrowser 访问手机图库?的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap / iOS - 无法使 inAppBrowser 工作
addEventListener('exit') 到 PhoneGap 中的 inappbrowser
Cordova/PhoneGap 打开下载的文件 (InAppBrowser)