HttpWebRequest 下载图片至本地
来源:互联网 发布:平板一键刷机软件 编辑:程序博客网 时间:2024/05/21 18:41
HttpWebRequest发送web请求,获取流文件,保存至本地
using System;using System.IO;using System.Net;using System.Text;using System.Web.Mvc;namespace Web.Controllers{ public class HomeController : Controller { string url = "http://www.***.com/Image.aspx?ucode=ucode"; public Stream GetFileToStream(string filePath) { FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); byte[] bytes = new byte[fileStream.Length]; fileStream.Read(bytes, 0, bytes.Length); fileStream.Close(); Stream streamFile = new MemoryStream(bytes); return streamFile; } public void Method1() { string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg"; string webPath = Server.MapPath(fileName); string pathName = @"d:\" + GenerateTimeStamp() + ".jpg"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.ServicePoint.Expect100Continue = false; req.Method = "GET"; req.KeepAlive = true; req.ContentType = "image/png"; HttpWebResponse rsp = (HttpWebResponse)req.GetResponse(); System.IO.Stream stream = null; try { //以字符流的方式读取HTTP响应 stream = rsp.GetResponseStream(); System.Drawing.Image.FromStream(stream).Save(pathName); } finally { // 释放资源 if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } } protected void Method2() { string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg"; string webPath = Server.MapPath(fileName); string pathName = @"d:\" + GenerateTimeStamp() + ".jpg"; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url); myRequest.Method = "GET"; HttpWebResponse myResponse = null; try { myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); Stream stream = myResponse.GetResponseStream(); #region 保存下载图片 MemoryStream ms = null; Byte[] buffer = new Byte[myResponse.ContentLength]; int offset = 0, actuallyRead = 0; do { actuallyRead = stream.Read(buffer, offset, buffer.Length - offset); offset += actuallyRead; } while (actuallyRead > 0); ms = new MemoryStream(buffer); byte[] buffurPic = ms.ToArray(); System.IO.File.WriteAllBytes(pathName, buffurPic); #endregion } //异常请求 catch (WebException ex) { } } protected void Method3() { string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg"; string webPath = Server.MapPath(fileName); string pathName = @"d:\" + GenerateTimeStamp() + ".jpg"; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url); myRequest.Method = "GET"; HttpWebResponse myResponse = null; try { myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); Stream stream = myResponse.GetResponseStream(); #region 保存下载图片 FileStream fileStream = new FileStream(pathName, FileMode.Create, FileAccess.Write); byte[] bytes = new byte[1024]; int readSize = 0; while ((readSize = stream.Read(bytes, 0, 1024)) > 0) { fileStream.Write(bytes, 0, readSize); fileStream.Flush(); } #endregion myResponse.Close(); stream.Close(); fileStream.Close(); } //异常请求 catch (WebException ex) { } finally { } } public string GenerateTimeStamp() { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Convert.ToInt64(ts.TotalMilliseconds).ToString(); } }}
0 0
- HttpWebRequest 下载图片至本地
- HttpWebRequest 请求PDF文件,并下载到本地
- http get 请求下载图片至本地
- java 下载图片到本地
- C# 下载图片到本地
- java下载图片到本地
- 下载网络图片到本地
- js下载图片到本地
- 本地预览下载图片插件
- python下载图片到本地
- python下载图片到本地
- Android 加载网络图片并下载至本地SdCard
- Python爬虫获取图片并下载保存至本地
- 通过图片URL下载图片到本地
- HttpWebRequest 下载html
- unity-HttpWebRequest下载
- HttpWebRequest图片采集
- 远程下载图片到本地的方法
- asp.net后台设置控件百分比的长度
- 两个链表的第一个公共结点
- Eclipse开发聊天插件-ImContent
- [二分 贪心 || 树的划分] NOI2003 Day 2 Berry Test6~Test9
- ElasticSearch 2 (6) - 插件安装Head、Kopf与Bigdesk
- HttpWebRequest 下载图片至本地
- windows下配置PHP7+Apache
- js得到屏幕宽高、页面宽高 (window.screen.availHeight)等
- HDU1394 Minimum Inversion Number 求逆序数+树状数组
- Android核心基础
- android核心技术之性能分析工具Systrace
- css3
- sql中 truncate 、delete与drop区别
- Java 数据库查询