uni-app uni-file-picker 组件 电脑端小程序点击无弹出文件选择
uni-app uni-file-picker 组件 电脑端小程序点击无弹出文件选择
操作步骤:
<uni-file-picker v-model="formsData.information" limit="1" file-mediatype="all" file-extname="rar,zip" title="资料压缩后上传,最多选择1个文件"></uni-file-picker>
预期结果:
- 电脑端弹出文件选择
实际结果:
- 没有弹出
bug描述:
uni-file-picker 组件 电脑端小程序点击没有弹出文件选择,发的是线上测试版。编辑器里面可以打开,手机端可以打开
<uni-file-picker v-model="formsData.information" limit="1" file-mediatype="all" file-extname="rar,zip" title="资料压缩后上传,最多选择1个文件"></uni-file-picker>
附件:
信息项 | 内容 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境 | Windows |
操作系统版本 | w11 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.99 |
工具版本号 | 1.06.2401020 |
基础库版本号 | 3.34 |
项目创建方式 | HBuilderX |
4 回复
组件内部使用的是小程序的api(chooseMedia),可以向小程序社区反馈 。
腾讯论坛上有人回复我,要用 chooseImage才行,你们组件是不是需要修改下
这个解决了吗? 我想选的所有文件,chooseImage 不是选择图片的吗?
在使用 uni-app
的 uni-file-picker
组件时,如果在电脑端小程序中点击没有弹出文件选择框,可能是由于以下原因导致的:
1. 平台兼容性问题
uni-file-picker
组件在不同平台上的表现可能有所不同。特别是在电脑端小程序中,可能存在兼容性问题。你可以检查一下当前使用的是哪个小程序平台(如微信小程序、支付宝小程序等),并查阅对应平台的文档,确认是否支持 uni-file-picker
组件。
2. 权限问题
确保小程序有权限访问文件系统。在微信小程序中,你需要在小程序的 app.json
文件中配置 chooseFile
权限:
{
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
},
"scope.writePhotosAlbum": {
"desc": "你的相册信息将用于小程序保存图片的效果展示"
},
"scope.chooseFile": {
"desc": "你的文件信息将用于小程序选择文件的效果展示"
}
}
}
3. 事件绑定问题
确保你已经正确绑定了 @success
或 @change
事件处理函数。例如:
<template>
<uni-file-picker @success="handleSuccess" @change="handleChange"></uni-file-picker>
</template>
<script>
export default {
methods: {
handleSuccess(e) {
console.log('文件选择成功', e);
},
handleChange(e) {
console.log('文件选择变化', e);
}
}
}
</script>
4. 使用 uni.chooseFile
API
如果 uni-file-picker
组件在电脑端小程序中无法正常工作,你可以直接使用 uni.chooseFile
API 来实现文件选择功能。例如:
<template>
<button [@click](/user/click)="chooseFile">选择文件</button>
</template>
<script>
export default {
methods: {
chooseFile() {
uni.chooseFile({
count: 1, // 最多可以选择的文件数量
success: (res) => {
console.log('文件选择成功', res.tempFiles);
},
fail: (err) => {
console.error('文件选择失败', err);
}
});
}
}
}
</script>