It is helpful if you post the actual error that you get instead of just saying the program errors out.
On May 31, 3:24 pm, JimsMind <[email protected]> wrote: > The code below does not succeed, I copied someones code for basic FTP > upload then attempted to add code to handle large files. If a file is > above a certain size it is supposed to upload the file in chunks of > data, the progress bar never moves and eventually the program errors > out. I am new to c# but I thought my structure was good. Any > suggestions would be appreciated. > { > //Create FTP request > FtpWebRequest request = (FtpWebRequest) > FtpWebRequest.Create > (FTPAddress + "/" + Path.GetFileName(filePath)); > request.Method = WebRequestMethods.Ftp.UploadFile; > request.Credentials = new NetworkCredential(username, > password); > request.UsePassive = true; > request.UseBinary = true; > request.KeepAlive = false; > //Load the file > FileStream stream = File.OpenRead(filePath); > byte[] buffer = new byte[stream.Length]; > stream.Read(buffer, 0, buffer.Length); > stream.Close(); > //Upload file > Stream reqStream = request.GetRequestStream(); > MessageBox.Show(buffer.Length.ToString()); > if (buffer.Length < 25000) > { > MessageBox.Show("uploading File all at once"); > reqStream.Write(buffer, 0, buffer.Length); > } > else > { > MessageBox.Show("uploading File in pieces"); > int percM; > percM = buffer.Length; > for (int i = 0; i <= buffer.Length; i += 2000) > { > int e; > int perc; > e = i + 1999; > perc = (i / percM) * 100; > reqStream.Write(buffer, i, e); > //MessageBox.Show(((i / buffer.Length) * > 100).ToString()); > progressBar1.Value = perc; > } > } > reqStream.Close(); > progressBar1.Value = 100; > MessageBox.Show("Uploaded Successfully"); > }
