본문 바로가기
프로그래밍

[Flutter] 어셋파일 복사하기

by hansoo.labs 한수댁 2019. 8. 6.

어셋파일은 services 패키지의 `rootBundle`로 읽고, 복사 위치에 맞는 파일을 만들어서 카피!

//import
import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/services.dart' show rootBundle;
import 'package:path_provider/path_provider.dart';
//read and write
final filename = 'test.pdf';
var bytes = await rootBundle.load("assets/data/test.pdf");
String dir = (await getApplicationDocumentsDirectory()).path;
writeToFile(bytes,'$dir/$filename');
//write to app path
Future<void> writeToFile(ByteData data, String path) {
  final buffer = data.buffer;
  return new File(path).writeAsBytes(
      buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));
}

댓글0