.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 ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д