Flutter Windows手动启动的可执行文件无法保存文件求助
Windows下Flutter手动启动可执行文件无法保存文件的问题
在Windows系统中使用path_provider: 2.0.14保存文件时,出现以下异常情况:
- Debug模式下应用可正常保存文件;
- 通过命令
flutter run --release -d windows启动的发布版应用可正常保存文件; - 手动从
build/windows/Runner/Release或Debug目录启动可执行文件时,保存操作失败。
说明:该应用仅面向Windows平台,已关闭杀毒软件,发布版应用拥有全部权限。
已尝试的操作
- 尝试捕获异常,但未捕获到任何异常;
- 不使用path_provider,硬编码路径进行保存,结果仍为命令启动正常、手动启动失败。
实际使用的保存函数
void funcExample({required String choseName, required String chosenPath, required UInt8List fileAsBytes,}) async { final docx = await DocxTemplate.fromBytes(fileAsBytes); final docxGeneratedBytes = await someMethodThatChangesDocx(docx); final path = "$chosenPath\\$chosenName.docx"; final XFile fileToBeSaved = XFile.fromData(Uint8List.fromList(docxGeneratedBytes), name: chosenName); await fileToBeSaved.saveTo(path); }
另一个尝试的保存代码片段
final XFile fileToBeSaved = XFile.fromData(Uint8List.fromList(docxGeneratedBytes), name: chosenName); final newFileWithoutCross = File(path); await newFileWithoutCross.writeAsBytes(await fileToBeSaved.readAsBytes());
补充细节
手动启动Release目录下的可执行文件时,cross_file库的saveTo方法无法生效,且无异常抛出。断点显示路径值正常,例如:"C:\Users\Acer\Downloads\newFile.docx"。
使用的依赖库版本
file_picker: 5.2.10path_provider: 2.0.14docx_template: 0.3.4file_selector: 0.9.2+5
Flutter环境情况
flutter doctor --verbose结果显示,除Android工具链存在cmdline-tools缺失及授权未知问题外,其余环境均正常。
期望:手动启动的可执行文件能像debug模式或命令启动的版本一样正常保存文件。
内容的提问来源于stack exchange,提问作者arnoldmitrica
相关产品推荐
相关产品推荐

