uniapp如何删除本地视频文件

在uniapp开发中,如何正确删除本地存储的视频文件?调用uni.removeSavedFile()时提示“文件不存在”,但实际路径确认无误。求具体代码示例和常见问题排查方法。

2 回复

使用uni.getFileSystemManager().unlink()方法删除本地视频文件。传入文件路径即可删除,记得先检查文件是否存在。


在 UniApp 中删除本地视频文件,可以使用 uni.getFileSystemManager() 获取文件管理器,然后调用 unlink 方法删除指定路径的文件。以下是具体步骤和代码示例:

步骤:

  1. 获取文件路径:确保你有要删除视频文件的完整本地路径(例如从相册选择或录制后保存的路径)。
  2. 使用文件管理器:通过 uni.getFileSystemManager() 获取文件系统管理器实例。
  3. 调用 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.jsonapp-plus 部分添加相册权限(仅限 App 端):

{
  "app-plus": {
    "permissions": {
      "UniNView": {
        "description": "需要访问相册"
      }
    }
  }
}

通过以上方法,你可以轻松删除 UniApp 中的本地视频文件。如果有更多问题,欢迎继续提问!

回到顶部