Flutter ftp上傳文件

本章介紹

由于后臺(tái)同事無法在.net上接收我的文件傳輸,所以他讓我用ftp上傳文件
本博客講一下Flutter用ftp上傳文件
有沒有.net告訴我,你們到底能不能接收file流

插件介紹

ftpconnect

插件功能

  • 將文件上傳到FTP
  • 從FTP下載文件/目錄
  • 列出FTP目錄的內(nèi)容
  • 管理FTP文件(重命名/刪除)
  • 管理文件壓縮/解壓縮
  • 完全異步函數(shù)

插件地址

pub插件地址

引入插件

打開Flutter項(xiàng)目的pubspec.yaml引入依賴,最新版本號(hào)請查看插件官網(wǎng)

ftpconnect: ^0.2.1

文件上傳

讓后臺(tái)提供,F(xiàn)tp服務(wù)的ip、端口、賬號(hào)、密碼

如果端口是21,則不用填寫,默認(rèn)是21端口

try {
      FTPConnect ftpConnect = FTPConnect(
       "ftp地址或域名",
        user:"ftp賬號(hào)",
        pass: "ftp密碼",
        debug: true,//是否開啟日志打印
    port: 21,//端口號(hào),如果默認(rèn)是21則不用填寫
      );
      var connect = await ftpConnect.connect();//利用填寫好的ip密碼等鏈接ftp服務(wù)器,鏈接返回值是一個(gè)bool值,true代表鏈接成功
      if (!connect) {//如果鏈接失敗則提示,WeToast是Flutter的一個(gè)ui框架,自行換成自己的toast代碼就可以
        WeToast.info(context)("Ftp服務(wù)器鏈接失?。?);
        return;
      }
      var state = await ftpConnect.uploadFile(
        files[0],//path對象
        sRemoteName: "", //在服務(wù)器上保存的名稱
      );//如果上傳成功返回true,失敗則是false
      print(state);
      await ftpConnect.disconnect();//最后關(guān)閉ftp連接
    } catch (e) {
      print(e);
    } finally {
      //省略
    }

我們發(fā)現(xiàn)上邊代碼雖然能成功上傳,但是并沒有設(shè)置路徑的地方,比如我想上傳的目錄不是跟目錄,那要怎么做呢?

上傳路徑

下方代碼中有一個(gè)sRemoteName傳值,我們知道這是文件名稱,如果要上傳的路徑不是跟目錄,那么就要改變sRemoteName

var state = await ftpConnect.uploadFile(
        files[0],//path對象
        sRemoteName: "", //在服務(wù)器上保存的名稱
      );//如果上傳成功返回true,失敗則是false
var state = await ftpConnect.uploadFile(
        files[0],//path對象
        sRemoteName: "路徑1/路徑2/文件名稱.后綴", //在服務(wù)器上保存的路徑+名稱
      );//如果上傳成功返回true,失敗則是false

通過以上代碼就可以完成指定路徑上傳

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容