123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <template>
- <view></view>
- </template>
- <script setup>
- const lemonjkFileSelect = uni.requireNativePlugin('lemonjk-FileSelect');
- //插件地址: https://ext.dcloud.net.cn/plugin?id=14059
- //事件
- const emit = defineEmits(['change'])
- //选择文件
- const selectFile = () => {
- // #ifdef APP-PLUS
- selectFileApi()
- // #endif
- }
- //手机端选择文件
- const selectFileApi = () => {
- lemonjkFileSelect.showPicker({
- mimeType: "*/*",
- utisType: "public.data",
- multi: 'yes'
- }, (res) => {
- const code = res.code.toString()
- if(code === '0') {
- // [{filePath,fileName,fileExtension,fileSize},...]
- emit('change', res.files ?? [])
- } else if(code === '1001'){
- // #ifdef APP-ANDROID
- // (仅安卓)当错误码为1001,即未授权文件读取权限,可以提示用户未打开读取文件权限,并跳转设置页
- uni.showModal({
- title: "需要文件访问权限",
- content: "您还未授权本应用读取文件。为保证您可以正常上传文件,请在权限设置页面打开文件访问权限(不同手机厂商表述可能略有差异)请根据自己手机品牌设置",
- confirmText: "去授权",
- cancelText: "取消",
- success(e) {
- if(e.confirm){
- // 跳转到应用设置页
- lemonjkFileSelect.gotoSetting();
- }
- }
- })
- // #endif
- // #ifdef APP-IOS
- uni.showModal({
- title: "需要文件访问权限",
- content: "您还未授权本应用读取文件。为保证您可以正常上传文件,请在设置页面打开文件访问权限",
- })
- // #endif
- } else if(code === '-1'){
- uni.showModal({
- title: "错误",
- content: "选择文件失败 -1"
- })
- } else if(code === '1002'){
- uni.showModal({
- title: "错误",
- content: "选择文件失败,文件不存在了"
- })
- } else if(code === '1005'){
- uni.showModal({
- title: "错误",
- content: "文件选取出错"
- })
- }
- })
- }
- //导处函数
- defineExpose({
- selectFile
- })
- </script>
|