load method
- String key
override
Retrieve a binary resource from the asset bundle as a data stream.
Throws an exception if the asset is not found.
The returned ByteData can be converted to a Uint8List (a list of bytes) using Uint8List.sublistView. Lists of bytes can be used with APIs that accept Uint8List objects, such as decodeImageFromList, as well as any API that accepts a List<int>, such as File.writeAsBytes or Utf8Codec.decode (accessible via utf8).
Implementation
@override
Future<ByteData> load(String key) async {
final HttpClientRequest request = await _httpClient.getUrl(_urlFromKey(key));
final HttpClientResponse response = await request.close();
if (response.statusCode != HttpStatus.ok) {
throw FlutterError.fromParts(<DiagnosticsNode>[
_errorSummaryWithKey(key),
IntProperty('HTTP status code', response.statusCode),
]);
}
final Uint8List bytes = await consolidateHttpClientResponseBytes(response);
return ByteData.sublistView(bytes);
}