<object id="o9jff"></object>
      1. 
        
        <rp id="o9jff"></rp>
          <strong id="o9jff"></strong>

          當前位置 主頁 > 站長資源大全 > IIS7 FTP大全 >

            解決ftp上傳文件失敗的代碼示例

            欄目:IIS7 FTP大全 時間:2019-07-17 09:22

                下述代碼主要解決了因為中文標題的出現,而導致上傳文件出錯的問題!
                   代碼示例:
              /**
              * 上傳文件
              *
              * @param P_Files
              */
              public static void uploadFile(File P_File)
              {
              if (P_File.exists())
              {
              String strFtpIp = getFtpIp()
              String strUserName = getFtpUserName()
              String strPassword = getFtpPassword()
              FTPClient ftpClient = new FTPClient()
              FileInputStream fis = null
              try
              {
              // 連接服務
              ftpClient.connect(strFtpIp)
              ftpClient.login(strUserName, strPassword)
              // 獲取臨時文件
              // 文件路徑加上temp的目的是為了每次上傳的附件不被覆蓋,使用filename的目的是為了和數據庫保存的文件名是一樣的,這樣能夠根據數據庫中的文件名稱獲取到附件
              String preFileName = P_File.getName()
              if (preFileName != null && preFileName.length() > 0)
              {
              fis = new FileInputStream(P_File)
              // 表示獲取的文件流是大于0字節以上,
              if (fis.available() > 0)
              {
              ftpClient.setBufferSize(1024);// 設置1M緩沖,
              ftpClient.setControlEncoding("GBK");// 設置編碼為GBK
              // 設置文件類型(二進制)
              ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE)
              if (ftpClient.storeFile(new String(preFileName.getBytes("GBK"), "iso-8859-1"), fis))
              {
              System.out.println(preFileName + "通過ftp上傳成功")
              }
              else
              {
              System.out.println(preFileName + "通過ftp上傳失敗")
              }
              }
              else
              {
              System.out.println("fis is null,filepath=" + P_File.getPath())
              
              }
              }
              catch (IOException e)
              {
              e.printStackTrace();
              throw new RuntimeException("FTP客戶端出錯!", e)
              }
              finally
              {
              IOUtils.closeQuietly(fis)
              try
              {
              ftpClient.disconnect()
              }
              catch (IOException e)
              {
              e.printStackTrace();
              throw new RuntimeException("關閉FTP連接發生異常!", e)
              }
              }
              }
             
          神马网
          <object id="o9jff"></object>
            1. 
              
              <rp id="o9jff"></rp>
                <strong id="o9jff"></strong>