Dart 如何在Flatter的资源中获取文件路径

Dart 如何在Flatter的资源中获取文件路径,dart,flutter,Dart,Flutter,我想在资产中打开一个pdf文件,所以我需要获取文件路径 这是我的解决方案,我必须复制文件,因为我无法获取路径。 我认为最好的解决办法是直接获取文件地址 Future<void> writeToFile(ByteData data, String path) { final buffer = data.buffer; return new File(path).writeAsBytes( buffer.asUint8List(data.offsetInB

我想在资产中打开一个pdf文件,所以我需要获取文件路径

这是我的解决方案,我必须复制文件,因为我无法获取路径。 我认为最好的解决办法是直接获取文件地址

Future<void> writeToFile(ByteData data, String path) {
    final buffer = data.buffer;
    return new File(path).writeAsBytes(
        buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));
  }


  Future<File> createFileOfPdfUrl() async {

    final filename = 'test.pdf';
    var bytes = await rootBundle.load("assets/data/test.pdf");

    String dir = (await getApplicationDocumentsDirectory()).path;
    writeToFile(bytes,'$dir/$filename');
    File file = new File('$dir/$filename');

    return file;
  }
Future writeToFile(字节数据、字符串路径){
最终缓冲区=data.buffer;
返回新文件(路径)。writeAsBytes(
buffer.asUint8List(data.offsetingbytes,data.lengthInBytes));
}
将来的CreateFileOffUrl()异步{
最终文件名='test.pdf';
var bytes=await rootBundle.load(“assets/data/test.pdf”);
字符串dir=(等待getApplicationDocumentsDirectory()).path;
writeToFile(字节,$dir/$filename');
File File=新文件(“$dir/$filename”);
返回文件;
}

要能够使用资产,您需要在pubspec.yaml上声明路径,如中所述,如下所示:

颤振:
资产:
-资产/

如果要处理文件,则取决于您的实现,在不了解更多信息的情况下,我可以指示您遵循。

代码是否不起作用,或者您是否希望使用其他解决方案?你到底有什么问题?