2011-06-23 19 views
0

我們在我的項目中使用FTPWebRequest類來上傳PDF文件。爲了上傳文件,我們通過從(FtpWebRequest)WebRequest的對象獲取GetRequestStream()來使用Write方法。FtpWebRequest讀取文件後立即上傳給予訪問被拒絕的錯誤

上傳文件後,我們讀取文件以獲取長度(文件大小)。我們使用的是同樣的FtpWebResponse的 GetResponseStream方法。

當文件大小較小但上傳大量文件時,所有工作都會罰款,然後會導致拒絕訪問的'550'錯誤。

在我看來,當大文件正在寫在FTP上,並在關閉流後,如果我們立即去讀取文件,然後它創建訪問被拒絕的問題可能是FTP服務器沒有從文件或其移除鎖定仍然從流寫入文件。

如何才能擺脫這個問題。當我們關閉正用於上傳文件的數據流時,是否有任何事件或方法可以確定文件已成功寫入FTP服務器?

回答

0

雖然我不知道爲什麼,但下面的步驟幫我解決這個問題

  1. 設置緩衝區大小,以較低的FTP服務器上做,一般是64K的,你可以將其設置爲32K的

  2. 發送塊到服務器,而不是發送一個在線流,因爲當發送它一次,數據保存在緩衝區,當我們提出讀取文件錯誤的提示。

相關問題