使用phonegap调用本机文件浏览器

Sin*_*ese 8 jquery-mobile cordova cordova-plugins

我必须在我的phonegap项目中实现文件上传功能.用户应该能够从手机记忆库或SD卡上传任何类型的文件.我使用jQuery Mobile框架设计的应用程序屏幕.我尝试输入type ="file",但在android 4.4中不支持.我也试过了phonegap相机API,但它只支持媒体文件.我发现了一些cordova插件(exm1,exm2).但这些插件使用自定义UI.我想调用本机文件浏览器来选择文件,它必须在Android和iPhone平台上运行.有没有办法实现同样的?

我发现cordova文件选择器插件(https://github.com/cdibened/filechooser)对android平台有帮助,但我无法使其工作.成功回调函数在文件选择后不会立即被触发(使用android 4.4.2测试).请在下面找到我的代码,

<input type="file" id="fileinput" name="fileinput"/>

$("#fileinput").bind('click',function(){ 
    console.log("choose file selected"); 
    filechooser.open( {}, fileChooseSuccess, fileChooseFailed ); 
}); 
function fileChooseSuccess(data) { 
    var filepath = data.filepath; 
    console.log("file path:"+filepath); 
} 
function fileChooseFailed(msg) { 
    console.log(msg); 
} 
Run Code Online (Sandbox Code Playgroud)

jce*_*ile 0

对于 Android,您可以使用此插件: https: //github.com/cdibened/filechooser

输入文件也应该在 android 上工作(在大多数版本上,但它不适用于 android 4.4、4.4.1 和 4.4.2) android webview 中的 HTML 文件输入(android 4.4、kitkat)

对于 iOS,没有插件,您没有本机文件浏览器。

示例项目 https://github.com/jcesarmobile/FileBrowserAndroidTest