您的位置:首页 > 理论基础 > 计算机网络

.Net 使用HttpWebRequest 和 HttpWebResponse 下载文件

2013-09-05 14:04 726 查看
private void DownFile()

{

//获取文件路径

string file_url = Request.QueryString["url"];

if (file_url == null)

{

return;

}

string ext_name = Path.GetExtension(file_url);

string file_name = Path.GetFileName(file_url);

//组织存储路径和存储文件名

string up_folder = System.Configuration.ConfigurationManager.AppSettings["hj_up_img"].ToString();

up_folder = up_folder + HJ_DAL.ImgFolder._cls_space;

string time_span = HJ_DAL.ImgFolder.GetTimeStamp();

//获取远程文件的数据流

FileStream fs = new FileStream(up_folder + time_span + ext_name, FileMode.Create);

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(file_url);

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

Stream stream = response.GetResponseStream();

int bufferSize = 2048;

byte[] bytes = new byte[bufferSize];

try

{

int length = stream.Read(bytes, 0, bufferSize);

while (length > 0)

{

fs.Write(bytes, 0, length);

length = stream.Read(bytes, 0, bufferSize);

}

stream.Close();

fs.Close();

response.Close();

}

catch (Exception ex) {

return;

}

}

post请求

protected void Button1_Click(object sender, EventArgs e)

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:2588/http_file.aspx");

request.Method = "post";

request.KeepAlive = true;

// request.ContentType = "application/x-www-form-urlencoded";

string file = "img01.jpg";

file=Server.MapPath(file);

FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);

request.ContentLength = fileStream.Length;

Stream rs = request.GetRequestStream();

byte[] buffer = new byte[2048];

int bytesRead = 0;

while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)

{

rs.Write(buffer, 0, bytesRead);

}

fileStream.Close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐