在 flutter 桌面应用程序上构建后无法复制文件
Can't copy the file after build on flutter desktop application
在我的项目中,我可以在调试模式下按保存按钮在 flutter 中复制一个文件,一切正常(文件已复制),但是在构建并打开发布应用程序后,我无法复制文件没有错误消息,只是按下了按钮,什么也没发生。
我尝试运行以管理员身份申请发布,但还是一样的问题。
Widget buildButton() {
final isFormValid = name.isNotEmpty && path.isNotEmpty;
return Padding(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 12),
child: ElevatedButton(
style: ElevatedButton.styleFrom(
onPrimary: Colors.white,
primary: isFormValid ? null : Colors.grey.shade700,
),
onPressed: () async {
addOrUpdatePlan();
File PDF= File('assets/PDF/file.pdf');
File newPDF = await PDF.copy('$path/$name.pdf'); //////The Bug
},
child: Text(
'SAVE',
style: TextStyle(fontSize: 30),
),
),
);
}
您在 File
构造函数中使用了相对路径;这意味着它只有在应用程序 运行 时的当前工作目录恰好是路径相对于的目录时才有效。应用程序的工作目录不受应用程序所在位置的控制,而是由应用程序的启动方式控制的,因此不在应用程序开发人员的控制范围内。
编写应用程序时应始终使用绝对路径,而不是相对路径。如何为您的用例构建绝对路径取决于预期的基本目录。
在我的项目中,我可以在调试模式下按保存按钮在 flutter 中复制一个文件,一切正常(文件已复制),但是在构建并打开发布应用程序后,我无法复制文件没有错误消息,只是按下了按钮,什么也没发生。
我尝试运行以管理员身份申请发布,但还是一样的问题。
Widget buildButton() {
final isFormValid = name.isNotEmpty && path.isNotEmpty;
return Padding(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 12),
child: ElevatedButton(
style: ElevatedButton.styleFrom(
onPrimary: Colors.white,
primary: isFormValid ? null : Colors.grey.shade700,
),
onPressed: () async {
addOrUpdatePlan();
File PDF= File('assets/PDF/file.pdf');
File newPDF = await PDF.copy('$path/$name.pdf'); //////The Bug
},
child: Text(
'SAVE',
style: TextStyle(fontSize: 30),
),
),
);
}
您在 File
构造函数中使用了相对路径;这意味着它只有在应用程序 运行 时的当前工作目录恰好是路径相对于的目录时才有效。应用程序的工作目录不受应用程序所在位置的控制,而是由应用程序的启动方式控制的,因此不在应用程序开发人员的控制范围内。
编写应用程序时应始终使用绝对路径,而不是相对路径。如何为您的用例构建绝对路径取决于预期的基本目录。