[Flutter]文件写报错 `FileSystemException: Cannot open file`

问题描述

Flutter尝试assets中文件复制到设备本地,但报错:

FileSystemException: Cannot open file, path = 
'/data/user/0/nz.co.webtools.sportzmind/app_flutter/audio/intro.mp3' (OS Error: No such file or directory, errno = 2)

代码:

final audioFile = await rootBundle.load('assets/audio/intro.mp3');
final dir = await getApplicationDocumentsDirectory();
File file = File('${dir.path}/audio/intro.mp3');

await file.writeAsBytes(audioFile.buffer.asUint8List());
url = file.path;

问题原因:

在创建文件的时候,加了一层路径audo导致报错, ${dir.path}/audio/intro.mp3

解决方案

  1. 判断文件夹是否存在,如果不存在,先建文件夹。
  2. 直接在系统 ApplicationDocumentsDirectory 下创建文件。 '${dir.path}/intro.mp3'

总结

创建文件时候如果存在多级文件结构,要判断是否文件夹是否存在

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容