Dart / FlutterでByteDataをUint8Listに変換する

アセットでアプリに含めたものを、
ファイルとしてパスが欲しいということがありまして。

アセットをファイルに変換したかったんですよ。
そのためにやりました。

ByteDataをUint8Listに変換する

Uint8List byteData2Uint8List(byteData) {
  ByteBuffer buffer = byteData.buffer;
  Uint8List unit8List =
      buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes);
  return unit8List;
}

使い方

// アセット読み込み
ByteData data = await rootBundle.load('assets/test.bin');

// Uint8Listに変換
Uint8List unit8List = byteData2Uint8List(data);

// 保存場所の設定
final tmpdir = await getTemporaryDirectory();
final path = '${tmpdir.path}/test.bin';
final file = File(path);

// ファイル保存
file.writeAsBytes(unit8List);

Flutter開発で知らないと損すること Flutter開発で知らないと損すること

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です