問題描述
Flutter嘗試assets
中文件復(fù)制到設(shè)備本地锹安,但報錯:
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;
問題原因:
在創(chuàng)建文件的時候议忽,加了一層路徑audo導(dǎo)致報錯赴魁, ${dir.path}/
audio/intro.mp3
解決方案
- 判斷文件夾是否存在拐邪,如果不存在丹弱,先建文件夾烂叔。
- 直接在系統(tǒng)
ApplicationDocumentsDirectory
下創(chuàng)建文件谨胞。 '${dir.path}/intro.mp3'
總結(jié)
創(chuàng)建文件時候如果存在多級文件結(jié)構(gòu),要判斷是否文件夾是否存在