【发布时间】:2020-03-27 22:59:26
【问题描述】:
在 Flutter 项目中,我创建了一个 pdf 文档。我可以将文档保存在应用程序的路径中。 但是用户无权访问它。或者,如何将文件保存到用户可以看到的另一个文件夹中?
import 'package:path_provider/path_provider.dart';
Future<void> savePdfDocument() async {
final PdfCreater generatedPdf = PdfCreater(document);
final List<int> generatedPdfDocument = generatedPdf.buildPdf();
final String dir = (await getApplicationDocumentsDirectory()).path;
final String path = '$dir/example.pdf';
final File file = File(path);
file.writeAsBytesSync(generatedPdfDocument);
}
【问题讨论】:
-
由于你是在Documents目录下保存文件,用户可以看到,他可能需要去
android/data/data/your_package_name/文件夹,如果你想把文件保存在根目录下,你可以简单地改变路径,但请确保您有权访问 Android 中的存储权限。 -
@CopsOnRoad 这不是真的,用户无法访问来自
getApplicationDocumentsDirectory()的路径。该名称可能具有误导性,它不是您在手机的“文件”菜单中看到的文档文件夹 -
@West 是的,我知道
document文件夹不是您 SD 卡目录根目录下的文件夹。我以为是android/data/package/files,但结果是data/data/package/app_flutter/,用户确实无法访问。
标签: file pdf flutter storage store