Я использую Titan FTP на сервере для передачи файла с локального компьютера на сервер, получаю эту ошибку:
Невозможно записать данные в транспортное соединение: выходное соединение было принудительнозакрыто удаленным хостом.
Что я делаю не так?
private void backgroundWorker1_DoWork_1(object sender, DoWorkEventArgs e)
{
try
{
string filename = ((FTPSetting)e.Argument).FileName;
string fullname = ((FTPSetting)e.Argument).FullName;
string username = ((FTPSetting)e.Argument).UserName;
string password = ((FTPSetting)e.Argument).Password;
string server = ((FTPSetting)e.Argument).Server + "/";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(string.Format("{0}/{1}", server, filename)));
request.UsePassive = false;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(username, password);
Stream ftpStreamRequest = request.GetRequestStream();
FileStream fs = File.OpenRead(filename);
byte[] buffer = new byte[1024];
double total = (double)fs.Length;
int byteRead = 0;
double read = 0;
do
{
if (!backgroundWorker1.CancellationPending)
{
byteRead = fs.Read(buffer, 0, 1024);
ftpStreamRequest.Write(buffer, 0, byteRead);
read += (double)byteRead;
double percent = read / total * 100;
backgroundWorker1.ReportProgress((int)percent);
}
} while (byteRead != 0);
fs.Close();
ftpStreamRequest.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}