0
hereの次のコードを使用して、大きなファイルをftpサイトにアップロードします。 ファイルがサーバーにアップロードされると、私はRDPを使用してサーバーにアクセスし、別のプロセスによって使用されているため、そのサーバーを開くことができません。WebRequestストリーム共有モードをshare_readに設定する方法は?
私の質問は、書いている間にファイルを読むことができるようにファイル共有モードを設定できますか?アップロードされたファイルが書き込まれている間、そのファイルを読みたいと思います。
FileStream fs = null;
Stream rs = null;
try
{
string file = "D:\\RP-3160-driver.zip";
string uploadFileName = new FileInfo(file).Name;
string uploadUrl = "ftp://ftp.Sitename.com/tempFiles/";
fs = new FileStream(file, FileMode.Open, FileAccess.Read);
string ftpUrl = string.Format("{0}/{1}", uploadUrl, uploadFileName);
FtpWebRequest requestObj = FtpWebRequest.Create(ftpUrl) as FtpWebRequest;
requestObj.Method = WebRequestMethods.Ftp.UploadFile;
requestObj.Credentials = new NetworkCredential("usernam", "password");
rs = requestObj.GetRequestStream();
byte[] buffer = new byte[8092];
int read = 0;
while ((read = fs.Read(buffer, 0, buffer.Length)) != 0)
{
rs.Write(buffer, 0, read);
}
rs.Flush();
}
catch (Exception e)
{
MessageBox.Show("File upload/transfer Failed.\r\nError Message:\r\n" + ex.Message, "Succeeded", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
if (fs != null)
{
fs.Close();
fs.Dispose();
}
if (rs != null)
{
rs.Close();
rs.Dispose();
}
}
申し訳ありませんが、今してみてください、私は答えを更新 –
を助けない...私のために働いているようです。 – Isma
私を助けません。要求のストリームを処理する代わりに、ファイルのストリームを処理しています。 –