load method

  1. @override
Future<ByteData> load(
  1. 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 {
  try {
    // First try to load normally (standalone app behavior)
    return await fallbackBundle.load(key);
  } catch (_) {
    // If it fails, assume we are running as an SDK and prepend the package path
    if (!key.startsWith('packages/las_app/')) {
      try {
        return await fallbackBundle.load('packages/las_app/$key');
      } catch (_) {}
    }
    rethrow;
  }
}