uni-app调用原生的文件系统管理器(可选取附件上传)

Posted 奔跑吧前端(李钊)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app调用原生的文件系统管理器(可选取附件上传)相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #btn{
                display: block;
                width: 90%;
                height: 50px;
                margin: 0px auto;
            }
        </style>
    </head>
    <body>
        <button id="btn" type="button" class="mui-btn mui-btn-blue mui-btn-block">按钮</button>
        <script type="text/javascript">
            document.querySelector(‘#btn‘).addEventListener(‘click‘,function () {
                var REQUESTCODE = 1;
                var main = plus.android.runtimeMainActivity();
                var Intent = plus.android.importClass(‘android.content.Intent‘);
                var intent = new Intent(Intent.ACTION_GET_CONTENT);

                intent.setType("*/*");//设置类型,任意类型
                //intent.setType("image/*");
                //intent.setType("audio/*"); //选择音频
                //intent.setType("video/*"); //选择视频 (mp4 3gp 是android支持的视频格式)

                intent.addCategory(Intent.CATEGORY_OPENABLE);
                main.startActivityForResult(intent,REQUESTCODE);

                main.onActivityResult = function(requestCode, resultCode, data) { 
                    if (REQUESTCODE == requestCode) {
                        var context = main;
                        plus.android.importClass(data);
                        // 获得文件路径
                        var fileData = data.getData();  
                        var path = plus.android.invoke(fileData, "getPath");
                        console.log("path:"+path);

                        // 判断文件类型
                        var resolver = context.getContentResolver();
                        var fileType = plus.android.invoke(resolver, "getType",fileData);
                        console.log("fileType:"+fileType);
                    }
                }
            })
        </script>
    </body>
</html>

 

以上是关于uni-app调用原生的文件系统管理器(可选取附件上传)的主要内容,如果未能解决你的问题,请参考以下文章

uni-app之实现层级覆盖(app端覆盖原生组件)的问题

uni-app App端中使用 原生插件引入

uni-app调用第三方地图并导航

Win10自定义资源管理器的具体步骤

uniapp原生插件开发问题汇总

uni-app中app-plus属性