使用 Flutter 从路径到文件的转换

From path to File conversion with Flutter

我正在做一个 flutter 项目。我需要从设备存储中选择一个文件。我可以获取文档的路径,但我需要将其保存为文件或直接将其获取为文件。要创建路径字符串,我使用 flutter_document_picker: 3.0.1.

 Future getDocument(int index) async {
    var document = await FlutterDocumentPicker.openDocument();

    setState(() {
      if (document != null) {
        lstDocument[index] = document;
        Navigator.pop(context);
      }
    });
  }

有谁知道如何将 文档 保存为文件。感谢解决。

您可以使用 path_provider 包将文件保存到您的 phone。

import 'package:path_provider/path_provider.dart';

Future getDocument(int index) async {
  var document = await FlutterDocumentPicker.openDocument();

  setState(() {
    if (document != null) {
      lstDocument[index] = document;

      final String path = await getApplicationDocumentsDirectory().path;

      // copy the file to a new path
      final File newImage = await image.copy('$path/image1.png'); // For Image Files

      Navigator.pop(context);
    }
  });
}

您可以使用 flutter_absolute_path 将路径转换为 ​​File()。

    import 'package:flutter_absolute_path/flutter_absolute_path.dart';
    Future getDocument(int index) async {
        String documentLocation = await FlutterDocumentPicker.openDocument();
    
        if (documentLocation != null) {
          
          final document =
              await FlutterAbsolutePath.getAbsolutePath(documentLocation);
          File tempFile = File(document);
          setState(() {
            if (tempFile != null) {
              lstDocument[index] = tempFile;
              Navigator.pop(context);
            }
          });
        }
      }