.NET 2.x "Этот файл используется другим процессом" - C#
Формулировка задачи:
Закачать например .txt на FTP - проблем нет, но если хочу закачать файл который используется, тогда при отправке пишет "...Этот файл используется другим процессом" как быть?
namespace myyy
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
foreach (var comboBox8 in Directory.GetFiles(@"путь", "Файл", SearchOption.TopDirectoryOnly))
{
FileInfo fileInf = new FileInfo(comboBox8);
string uri = "ftp://" + "ftp.site.ru" + "/" + fileInf.Name;
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + "ftp.site.ru" + "/" + fileInf.Name));
reqFTP.Credentials = new NetworkCredential("login", "pass");
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInf.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
FileStream fs = fileInf.OpenRead();
try
{
Stream strm = reqFTP.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
strm.Close();
fs.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка");
}
}
}
catch (Exception ex)
{
MessageBox.Show("err: " + ex.Message);
}
}
}
}Решение задачи: «.NET 2.x "Этот файл используется другим процессом"»
textual
Листинг программы
... int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen; //FileStream fs = fileInf.OpenRead(); FileStream fs = new FileStream(fileInf.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); try ...