如何配置 uni-file-picker
时间: 2024-12-27 14:23:29 浏览: 7
### 配置 `uni-file-picker` 组件
#### 了解 `uni-file-picker`
`uni-file-picker` 是 UniApp 提供的一个用于选择本地文件并上传到服务器的组件。此组件支持多种类型的文件选择,包括图片、视频和其他文档格式。
#### 基本属性设置
为了正确配置 `uni-file-picker` 组件,需注意几个重要参数:
- **fileType**: 文件类型,默认为 all 表示所有类型;可选值有 image(图片), video(视频) 和 other(其他)[^1]。
- **mode**: 图片裁剪模式,在选择了图片之后可以对其进行简单处理再上传。
- **limit**: 单次最多可以选择多少张照片或视频片段。
对于 Android 设备上遇到的问题,主要是由于不兼容 original 的 sizeType 默认值所引起的错误。因此建议调整 sizeType 属性来解决这个问题[^2]。
```html
<template>
<view class="content">
<!-- 设置 file-mediatype 可以指定媒体类型 -->
<uni-file-picker v-bind:file-mediatype="'image'"
:limit="9"
@success="handleSuccess"/>
</view>
</template>
<script>
export default {
methods:{
handleSuccess(e){
console.log('Upload success:', e);
// 处理上传成功的逻辑
}
}
}
</script>
```
当使用 `uni-file-picker` 进行文件上传时,如果希望绕过官方提供的临时存储服务而直接对接自己的后台API,则可以在前端通过 `chooseImage` 方法获取图像路径后自行实现上传功能。
```javascript
// 替代方案:使用 chooseImage 获取图片路径后再调用自定义 API 实现上传
uni.chooseImage({
count: 1, // 最大允许选择数量
sizeType: ['compressed'], // 排除原始尺寸选项避免安卓设备报错
sourceType: ['album', 'camera'],
success(res) {
const tempFilePaths = res.tempFilePaths;
uploadToServer(tempFilePaths); // 自己编写的函数用来向服务器发送请求
},
});
```
阅读全文