uniapp如何删除本地视频文件
在uniapp开发中,如何正确删除本地存储的视频文件?调用uni.removeSavedFile()时提示“文件不存在”,但实际路径确认无误。求具体代码示例和常见问题排查方法。
2 回复
使用uni.getFileSystemManager().unlink()方法删除本地视频文件。传入文件路径即可删除,记得先检查文件是否存在。
在 UniApp 中删除本地视频文件,可以使用 uni.getFileSystemManager() 获取文件管理器,然后调用 unlink 方法删除指定路径的文件。以下是具体步骤和代码示例:
步骤:
- 获取文件路径:确保你有要删除视频文件的完整本地路径(例如从相册选择或录制后保存的路径)。
- 使用文件管理器:通过
uni.getFileSystemManager()获取文件系统管理器实例。 - 调用
unlink方法:删除指定路径的文件,并处理成功或失败的回调。
代码示例:
// 假设 videoPath 是视频文件的本地路径,例如:'file://storage/emulated/0/DCIM/Camera/video.mp4'
const fileManager = uni.getFileSystemManager();
const videoPath = '你的视频文件路径'; // 替换为实际路径
fileManager.unlink({
filePath: videoPath,
success: (res) => {
console.log('文件删除成功', res);
uni.showToast({
title: '删除成功',
icon: 'success'
});
},
fail: (err) => {
console.error('文件删除失败', err);
uni.showToast({
title: '删除失败',
icon: 'none'
});
}
});
注意事项:
- 路径格式:确保文件路径是有效的,并且应用有权限访问(例如在
manifest.json中配置了相册权限)。 - 错误处理:如果文件不存在或路径错误,
fail回调会触发,建议在代码中处理异常情况。 - 平台差异:该方法在 Android 和 iOS 上均支持,但路径可能因系统而异(例如 iOS 路径以
file://开头)。
权限配置(如果需要):
在 manifest.json 的 app-plus 部分添加相册权限(仅限 App 端):
{
"app-plus": {
"permissions": {
"UniNView": {
"description": "需要访问相册"
}
}
}
}
通过以上方法,你可以轻松删除 UniApp 中的本地视频文件。如果有更多问题,欢迎继续提问!

