質問編集履歴
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,18 +1,27 @@
|
|
1
1
|
Flutterでassets内のファイルをFile()として扱いたいです。
|
2
2
|
下のようなソースコードを見つけましたが、実行しても、
|
3
|
+
```ここに言語を入力
|
3
|
-
_
|
4
|
+
ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FileSystemException: Cannot open file, path = 'C:\Users\xxxxxxx\Documents/assets/images/icon.png' (OS Error: 指定されたパスが見つかりません。
|
5
|
+
, errno = 3)
|
6
|
+
|
7
|
+
```
|
4
8
|
というエラーが出てきます。
|
5
9
|
```Dart
|
6
|
-
Future<File> get
|
10
|
+
Future<File> getFileFromAssets(String path) async {
|
7
|
-
|
11
|
+
var byteData = await rootBundle.load(path);
|
8
|
-
|
12
|
+
var loc = await localPath;
|
9
|
-
|
13
|
+
var file = File('$loc/$path');
|
10
|
-
await file.writeAsBytes(byteData.buffer
|
14
|
+
var file2 = await file.writeAsBytes(byteData.buffer
|
11
15
|
.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
|
12
|
-
|
13
|
-
return file;
|
16
|
+
return file2;
|
14
17
|
}
|
15
18
|
```
|
19
|
+
呼び出し元はこのようなコードです。
|
20
|
+
```Dart
|
21
|
+
var icon =
|
22
|
+
await getFileFromAssets("assets/images/icon.png");
|
23
|
+
```
|
24
|
+
プロジェクトフォルダー直下にassetsフォルダーを作成し、その中にimagesフォルダー、さらにその中にicon.pngを配置しました。
|
16
25
|
|
17
26
|
わかる方がいらっしゃれば教えていただけるととてもありがたいです。
|
18
27
|
よろしくお願いします。
|