uniapp uni-file-picker组件的使用方法
在uniapp中使用uni-file-picker组件时,如何限制上传文件类型为图片?我按照文档设置了accept=“image”,但依然可以选取非图片文件,请问正确的配置方法是什么?另外,如何动态修改文件数量限制?
2 回复
uniapp的uni-file-picker组件用于文件上传。使用方法:
- 引入组件:
<uni-file-picker v-model="fileList"></uni-file-picker> - 配置参数:可设置文件类型、数量限制等
- 监听事件:通过@success获取上传结果
- 支持预览和删除功能
简单配置即可实现文件选择上传。
UniApp 的 uni-file-picker 组件用于实现文件选择与上传功能,支持选择图片、视频等文件类型。以下是基本使用方法:
基本用法
-
引入组件
在页面或组件的template中直接使用:<template> <view> <uni-file-picker v-model="fileList" @select="onSelect" @progress="onProgress" @success="onSuccess" @fail="onFail" ></uni-file-picker> </view> </template> -
配置参数
v-model:绑定已选文件列表(数组格式)。file-mediatype:文件类型,可选image(默认)/video/all。limit:最大选择数量(默认 9)。title:选择按钮的标题文字。
-
事件监听
@select:文件选择后触发,返回临时文件路径。@progress:上传进度变化时触发。@success:上传成功时触发。@fail:上传失败时触发。
示例代码
<script>
export default {
data() {
return {
fileList: []
}
},
methods: {
// 选择文件
onSelect(e) {
console.log('选择文件:', e.tempFilePaths)
},
// 上传进度
onProgress(e) {
console.log('上传进度:', e.progress)
},
// 上传成功
onSuccess(e) {
console.log('上传成功:', e)
},
// 上传失败
onFail(e) {
console.log('上传失败:', e)
}
}
}
</script>
注意事项
- 需要配置
uni.uploadFile实现上传(组件仅负责前端选择)。 - 安卓平台部分机型需动态申请存储权限。
- 可通过
ref调用组件方法,如clearFiles()。
通过以上步骤即可快速集成文件选择功能。

