从服务器下载文件的方法
2012-07-11 15:44
246 查看
前不久做的东西需要用到一个自动更新的方法所用到。
/// <summary>
/// 下载文件
/// </summary>
/// <param name="URL">下载的基本链接地址(不含文件名)</param>
/// <param name="Filename">下载的文件名</param>
/// <param name="DownLoadPath">下载到本地的路径名</param>
private bool DownLoadFile(string URL, string Filename, string DownLoadPath)
{
try
{
//从URL地址得到一个WEB请求
System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL + Filename);
//设置这个属性判断文件下载前或下载中网络是否断开(很重要)
Myrq.ReadWriteTimeout = 1000;
//从WEB请求得到WEB响应
System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
//从WEB响应得到总字节数
long totalBytes = myrp.ContentLength;
//从WEB请求创建流(读)
System.IO.Stream st = myrp.GetResponseStream();
//判断文件夹是否存在,不存在则建立新文件夹
if (!Directory.Exists(DownLoadPath))
{
Directory.CreateDirectory(DownLoadPath);
}
//记录实际下载的字节数
long totalDownloadedByte = 0;
//创建文件流(写)
System.IO.Stream so = new System.IO.FileStream(DownLoadPath + Filename, System.IO.FileMode.Create);
byte[] by = new byte[1024];
//读流
int osize = st.Read(by, 0, (int)by.Length);
while (osize > 0)
{
//已更新的文件大小
totalDownloadedByte += osize;
//写流
so.Write(by, 0, osize);
//读流
osize = st.Read(by, 0, (int)by.Length);
}
//关闭流
so.Close();
//关闭流
st.Close();
//下载的字节数判断是否下载成功了
if (totalDownloadedByte == totalBytes)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
//throw new Exception("下载更新文件出错:" + ex.Message);
}
}
/// <summary>
/// 下载文件
/// </summary>
/// <param name="URL">下载的基本链接地址(不含文件名)</param>
/// <param name="Filename">下载的文件名</param>
/// <param name="DownLoadPath">下载到本地的路径名</param>
private bool DownLoadFile(string URL, string Filename, string DownLoadPath)
{
try
{
//从URL地址得到一个WEB请求
System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL + Filename);
//设置这个属性判断文件下载前或下载中网络是否断开(很重要)
Myrq.ReadWriteTimeout = 1000;
//从WEB请求得到WEB响应
System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
//从WEB响应得到总字节数
long totalBytes = myrp.ContentLength;
//从WEB请求创建流(读)
System.IO.Stream st = myrp.GetResponseStream();
//判断文件夹是否存在,不存在则建立新文件夹
if (!Directory.Exists(DownLoadPath))
{
Directory.CreateDirectory(DownLoadPath);
}
//记录实际下载的字节数
long totalDownloadedByte = 0;
//创建文件流(写)
System.IO.Stream so = new System.IO.FileStream(DownLoadPath + Filename, System.IO.FileMode.Create);
byte[] by = new byte[1024];
//读流
int osize = st.Read(by, 0, (int)by.Length);
while (osize > 0)
{
//已更新的文件大小
totalDownloadedByte += osize;
//写流
so.Write(by, 0, osize);
//读流
osize = st.Read(by, 0, (int)by.Length);
}
//关闭流
so.Close();
//关闭流
st.Close();
//下载的字节数判断是否下载成功了
if (totalDownloadedByte == totalBytes)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
//throw new Exception("下载更新文件出错:" + ex.Message);
}
}
相关文章推荐
- 解决IE apk变成zip:Android 手机应用程序文件下载服务器Nginx+Tomcat配置解决方法
- php excel下载模板方法2,放excel文件在服务器上,直接拉取
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- nginx服务器在IE下载时,apk文件变成zip的解决方法(转)
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片
- 从服务器上传和下载文件方法
- 让服务器iis支持.apk文件下载的设置方法
- 让服务器iis支持.apk文件下载的设置方法
- scp:Mac使用方法(文件上传与下载服务器)
- 让服务器iis支持.apk文件下载的设置方法
- nginx服务器在IE下载时,apk,ipa文件变成zip的解决方法
- 让服务器iis支持.apk文件下载的设置方法
- 让服务器iis支持.apk文件下载的设置方法
- u-boot通过nfs从服务器下载内核,并且启动内核,挂载根文件系统的方法
- 文件从服务器下载后发现打不开的解决方法
- php实现远程网络文件下载到服务器指定目录(方法一)
- 从服务器下载文件的方法
- JSP实现远程文件下载保存到服务器指定目录中的方法
- 从服务器下载文件的方法
- 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法