我通過FTP發送大文件(3GB)在C#和同時閱讀源碼流文件時,我這樣做,我歌廳的錯誤:錯誤在發送大文件的通過量FTP
StreamReader sourceStream = new StreamReader(@"C:\xxx\xxxx\xxx");
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
錯誤:
類型 '的System.OutOfMemoryException' 的未處理的異常在mscorlib.dll發生
整個代碼:
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/file.iso");
request.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential("user", "mdp");
// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader(@"C:\xxx\xxx\xxx\xxxxxxxxx.iso");
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
你將不得不在少量(數據包)發送,但將需要把支票recieving結束,看它是否已收到所有 – ZoomVirus 2014-10-30 13:05:45
你讀所有的文件到內存。機器上有多少內存? – Reniuz 2014-10-30 13:05:47
謝謝@ZoomVirus,但是你現在怎麼發送它?我從來沒有使用過這種東西。 – 2014-10-30 13:10:37