# uni.getSavedFileList - 获取已保存的文件列表示例
## 官方文档
参考官方文档:https://doc.dcloud.net.cn/uni-app-x/api/file/file.html#getsavedfilelist
## 概述
`uni.getSavedFileList` 用于获取本地已保存的文件列表。
## 基础用法
```javascript
uni.getSavedFileList({
success: (res) => {
console.log('文件列表', res.fileList)
}
})
```
## 完整示例
### 示例 1: 获取文件列表
```javascript
uni.getSavedFileList({
success: (res) => {
console.log('文件数量', res.fileList.length)
res.fileList.forEach((file, index) => {
console.log(`文件${index + 1}:`, file.filePath)
console.log(`大小:`, file.size, '字节')
console.log(`创建时间:`, new Date(file.createTime))
})
},
fail: (err) => {
console.error('获取失败', err)
}
})
```
### 示例 2: 在页面中使用
```vue
{{ file.filePath }}
大小:{{ formatFileSize(file.size) }}
创建时间:{{ formatTime(file.createTime) }}
暂无保存的文件
```
### 示例 3: 计算总文件大小
```javascript
function getTotalFileSize() {
return new Promise((resolve, reject) => {
uni.getSavedFileList({
success: (res) => {
const totalSize = res.fileList.reduce((sum, file) => sum + file.size, 0)
const totalSizeMB = (totalSize / 1024 / 1024).toFixed(2)
console.log('总文件大小', totalSizeMB, 'MB')
resolve({
fileList: res.fileList,
totalSize: totalSize,
totalSizeMB: totalSizeMB
})
},
fail: (err) => {
reject(err)
}
})
})
}
// 使用
getTotalFileSize().then(result => {
console.log('文件统计', result)
})
```
### 示例 4: 清理旧文件
```javascript
function cleanOldFiles(maxAge = 7 * 24 * 60 * 60 * 1000) {
// maxAge: 最大保留时间(毫秒),默认7天
uni.getSavedFileList({
success: (res) => {
const now = Date.now()
let deletedCount = 0
res.fileList.forEach(file => {
if (now - file.createTime > maxAge) {
uni.removeSavedFile({
filePath: file.filePath,
success: () => {
deletedCount++
console.log('已删除旧文件', file.filePath)
}
})
}
})
setTimeout(() => {
uni.showToast({
title: `已清理${deletedCount}个文件`,
icon: 'success'
})
}, 1000)
}
})
}
// 使用:清理7天前的文件
cleanOldFiles()
```
### 示例 5: 文件管理
```vue
{{ getFileName(file.filePath) }}
{{ formatFileSize(file.size) }} · {{ formatTime(file.createTime) }}
```
## 返回值
| 参数名 | 类型 | 说明 |
|--------|------|------|
| fileList | Array | 文件列表,每个文件包含 filePath、size、createTime |
## 平台兼容性
| 平台 | 支持情况 |
|------|---------|
| H5 | ❌ |
| 微信小程序 | ✅ |
| 支付宝小程序 | ✅ |
| 百度小程序 | ✅ |
| 字节跳动小程序 | ✅ |
| QQ 小程序 | ✅ |
| 快手小程序 | ✅ |
| App | ✅ |
| 快应用 | ✅ |
## 注意事项
1. H5 平台不支持此 API
2. 返回的文件列表包含通过 `uni.saveFile` 保存的文件
3. 可以通过 `createTime` 判断文件创建时间
4. 建议定期清理不需要的文件
## 参考资源
- **官方文档**: https://doc.dcloud.net.cn/uni-app-x/api/file/file.html#getsavedfilelist
- **保存文件**: https://doc.dcloud.net.cn/uni-app-x/api/file/file.html#savefile
- **删除文件**: https://doc.dcloud.net.cn/uni-app-x/api/file/file.html#removesavedfile