Как скопировать изображения в ресурсах в каталог документов приложения во Flutter? - PullRequest
0 голосов
/ 14 ноября 2018

Мое приложение флаттера имеет следующие активы.

assets:
 - "images/01.png"
 - "images/02.png"
 - "images/03.png"
 ...

Я хочу скопировать эти файлы изображений в локальный путь, который я могу получить по следующему адресу.

 Directory docDir = await getApplicattionDocumentsDirectory();
 String localPath = docDir.path;

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Эта ветка довольно старая, но если кто-то все еще ищет ответ, я так и сделал:)

  rootBundle.load('assets/test.jpg').then((content) {
    File newFile = File('${dir.path}/img.jpg');
    newFile.writeAsBytesSync(content.buffer.asUint8List());
    visionImage = FirebaseVisionImage.fromFile(newFile);
    _runAnalysis();
  });
0 голосов
/ 22 января 2019

Я тоже пока не мог найти выход.Чтобы смягчить это, следуйте руководству по , указав

flutter:
  assets:
    - assets/ 

И загрузите произвольные файлы с помощью rootBundle

import 'dart:async' show Future;
import 'package:flutter/services.dart' show rootBundle;

Future<String> loadAsset() async {
  return await rootBundle.loadString('assets/index.html');
}

или в вашем случае с помощьюAssetImage

Widget build(BuildContext context) {
  // ...
  return DecoratedBox(
    decoration: BoxDecoration(
      image: DecorationImage(
        image: AssetImage('graphics/background.png'),
        // ...
      ),
  // ...
    ),
  );
  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...