flutter read asset file and write to app path

dazhi wang
1 min readFeb 12, 2019

I’am iOS Developer,and I’ve been learning flutter development for two weeks.

how to read a file in assets?

I searched for a large number of options, but none of them satisfied me. So I wrote one myself.

//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));
}

yaml file

dependencies:

path_provider: ^0.5.0+1
assets:
- assets/data/test.pdf

project dicretory

--

--