Загрузка файла на FTP - C#
Формулировка задачи:
Доброго времени суток!
На фтп имеется папка images, в которую надо загрузить файл fname.
fname выбирается пользователем (код под спойлером)
в конце вызывается функция вот код этой функции
При компиляции происходит следующая ошибка(добавил в Вложения) в 14 строке
ну и собственно вопрос, из-за чего эта ошибка и как это исправить
Stream myStream = null;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "d:";
openFileDialog1.Filter = "JPEG (*.jpg;*.jpeg;.*jpe;,*.jfif)|*.jpg";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
using (myStream)
{
label1.Text = Convert.ToString(openFileDialog1.FileName);
a = label1.Text;
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
openFileDialog1.Dispose();
uploadFTP(a);uploadFTP(a);
void uploadFTP(string fname)
{
string ftpUserID = "user";
string ftpPassword = "password";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftpadress/image/" + fname);
request.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
request.Method = WebRequestMethods.Ftp.UploadFileWithUniqueName;
FileStream fs = new FileStream(fname, FileMode.Open);
byte[] fileContents = new byte[fs.Length];
fs.Read(fileContents, 0, fileContents.Length);
fs.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
}Stream requestStream = request.GetRequestStream();
Решение задачи: «Загрузка файла на FTP»
textual
Листинг программы
byte[] fileData = File.ReadAllBytes(path); //где path - путь к файлу request.ContentLength = fileData.Length;