簡體   English   中英

在 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構造函數中使用了相對路徑; 這意味着它只有在應用程序運行時的當前工作目錄恰好是路徑相對於的目錄時才有效。 應用程序的工作目錄不受應用程序所在位置的控制,而是由它的啟動方式控制的,因此不在應用程序開發人員的控制范圍內。

在編寫應用程序時,您應該始終使用絕對路徑,而不是相對路徑。 如何為您的用例構建絕對路徑取決於預期的基本目錄是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM