検索
【Flutter/Dart】iosシミュレータ起動後にデバイスに保存した画像が見つからない
- M.R

- 2024年2月11日
- 読了時間: 1分
現象
やってること
iosシミュレータで画像をデバイスのローカルに保存
保存したパスをデータベースに保存
アプリ立ち上げ時にデータベースから画像パスを取得し、そのパスの画像を画面上に表示
起きている現象
iosシミュレータを再起動した場合、上記3で「ファイルパスが見つからない」というエラーが出る
原因
保存時のディレクトリを
getApplicationDocumentsDirectory()にて取得しているが、この「デバイスのローカルディレクトリ」はシミュレータを起動するたびに変わるらしい。
保存してあるパスにはこのディレクトリ名まで含まれているので、再起動時に「パスが見つからない」というエラーになっていた
対策
保存するパスにディレクトリを含めない(ファイル名のみ)
起動時に毎回getApplicationDocumentsDirectory()でローカルパスを取得し、保存してあったファイル名と結合して画像のパスとする






コメント