HttpWebResponse下载问题

yun166 2010-10-09 08:21:24

try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:80/test.WMV");

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

byte[] buffer = new byte[64];

string temppath="g:\\test.WMV";


using (System.IO.Stream downloadStream = request.GetResponse().GetResponseStream())
{

using (FileStream saveFileStream = new FileStream(temppath, FileMode.Create, FileAccess.Write, FileShare.None))
{
int readSize = 0;

while (true)
{
Console.WriteLine("状态{0}", response.StatusCode);
Thread.Sleep(500);

readSize = downloadStream.Read(buffer, 0, buffer.Length);
Console.WriteLine("读取{0}", readSize);
if (readSize <= 0) break;
saveFileStream.Write(buffer, 0, readSize);
}
Console.WriteLine("状态{0}", response.StatusCode);
Console.WriteLine("弹出");

}
}
}
catch (Exception ex)
{
throw ex;
}

想测试一下在下载中途突然服务器的文件被删除了,而下载文件的程序还在继续中,
会出现的什么状态?但是上面的这段代码并检测不到文件已经不存在,Read函数返回的还是64,
那位前辈能改正这个问题?谢谢!!
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yun166 2010-10-10
  • 打赏
  • 举报
回复
我也试过另外的一种方法,把它改为网络文件,下载中把网给断了,
它也是read到最后才弹出IOException,
主要还是这段程序不能再判断与服务器的连接状态吧?
yun166 2010-10-10
  • 打赏
  • 举报
回复
等高手出现
yun166 2010-10-10
  • 打赏
  • 举报
回复
好少回答~~~~~~~~~~~~~~~
kensouterry 2010-10-10
  • 打赏
  • 举报
回复
在把文件流读取到内存过程中没有删除文件的话,那么 问题不大!
参考MSDN中的注解!
验证码识别 2010-10-09
  • 打赏
  • 举报
回复
感觉不会出现这种情况吧

使用中的文件能被删除?

操作系统没有保护?
zenjj 2010-10-09
  • 打赏
  • 举报
回复
顶顶了~~~~~~~~~~~~~~~~~~~~~~~~
水哥阿乐 2010-10-09
  • 打赏
  • 举报
回复
挺意外的,没想过这种情况。关注一下
gll062 2010-10-09
  • 打赏
  • 举报
回复
帮顶 不懂!!!!!!!!!!!

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧