日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁編程開發(fā)C#.NET → C#編程FTP上傳文件代碼示例

      C#編程FTP上傳文件代碼示例

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時(shí)間:2013/4/2 11:27:50字體大。A-A+

      作者:西西點(diǎn)擊:0次評論:0次標(biāo)簽: ftp

      • 類型:服務(wù)器區(qū)大。34KB語言:中文 評分:5.0
      • 標(biāo)簽:
      立即下載

      我要把圖片通過ftp上傳到服務(wù)器固定的目錄下面,存放圖片的這個(gè)文件夾是會變的,所以在上傳之前,得先判斷目錄下面有沒有這個(gè)文件夾,要是沒有就先新建一個(gè)文件夾,在把圖片上傳到這個(gè)文件夾里

      上傳的核心代碼:

              /// <summary>

              /// FTP上傳文件
              /// </summary>
              /// <param name="fileUpload">上傳控件</param>
              /// <param name="ftPServerIP">上傳文件服務(wù)器IP</param>
              /// <param name="ftpUserID">服務(wù)器用戶名</param>
              /// <param name="ftpPassword">服務(wù)器密碼</param>
              /// <returns></returns>
              public  string Upload(FileUpload fileUpload, string ftpServerIP, string ftpUserID, string ftpPassword)
              {
                  string filename = fileUpload.FileName;
                  string sRet = "上傳成功!";
                  FileInfo fileInf = new FileInfo(fileUpload.PostedFile.FileName);
                  string uri = "ftp://" + ftpServerIP + "/" + filename;
                  FtpWebRequest reqFTP;
      
                  // 根據(jù)uri創(chuàng)建FtpWebRequest對象 
                  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
      
                  // ftp用戶名和密碼
                  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
      
                  // 默認(rèn)為true,連接不會被關(guān)閉
                  // 在一個(gè)命令之后被執(zhí)行
                  reqFTP.KeepAlive = false;
      
                  // 指定執(zhí)行什么命令
                  reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
      
                  // 指定數(shù)據(jù)傳輸類型
                  reqFTP.UseBinary = true;
                  reqFTP.UsePassive = false;
      
                  // 上傳文件時(shí)通知服務(wù)器文件的大小
                  reqFTP.ContentLength = fileInf.Length;
      
                  // 緩沖大小設(shè)置為2kb
                  int buffLength = 2048;
      
                  byte[] buff = new byte[buffLength];
                  int contentLen;
      
                  // 打開一個(gè)文件流 (System.IO.FileStream) 去讀上傳的文件
                  FileStream fs = fileInf.OpenRead();
      
                  try
                  {
                      // 把上傳的文件寫入流
                      Stream strm = reqFTP.GetRequestStream();
      
                      // 每次讀文件流的2kb
                      contentLen = fs.Read(buff, 0, buffLength);
      
                      // 流內(nèi)容沒有結(jié)束
                      while (contentLen != 0)
                      {
                          // 把內(nèi)容從file stream 寫入 upload stream
                          strm.Write(buff, 0, contentLen);
      
                          contentLen = fs.Read(buff, 0, buffLength);
                      }
      
                      // 關(guān)閉兩個(gè)流
                      strm.Close();
                      fs.Close();
                  }
                  catch (Exception ex)
                  {
                      sRet = ex.Message;
                  }
                  return sRet;
              }


      上面只是一個(gè)簡單的上傳,當(dāng)然上傳之前還需要對文件進(jìn)行一些驗(yàn)證,例如文件格式或者文件的大小之類的。簡單驗(yàn)證請參考上傳圖片之上傳前判斷文件格式與大小。

      為了防止重名,可以使用全局唯一標(biāo)示符GUID,生成一個(gè)隨機(jī)序列,在理想情況下,任何計(jì)算機(jī)和計(jì)算機(jī)集群都不會生成兩個(gè)相同的GUID。當(dāng)然重復(fù)的幾率也并不為0,但是非常小了。

           /// <summary>

              /// 生成全局唯一標(biāo)示符
              /// </summary>
              /// <returns></returns>
              public string strGUID()
              {
                  string strguid = Guid.NewGuid().ToString();
                  return strguid;
              }

      調(diào)用這個(gè)方法,然后將返回的序列跟文件名拼接就可以有效的避免文件重名的情況了。當(dāng)然也可以用系統(tǒng)當(dāng)前時(shí)間來跟文件名進(jìn)行拼接,這樣或許你感覺更保險(xiǎn)一些。具體用那種方法就見仁見智了。

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)