.net 已知图片的网络路径,通过浏览器下载图片
2016-04-20 17:26
561 查看
没什么技术含量,主要留给自己查找方便;
如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现:
下面这个方法实现的是把图片读取为byte数组:
下面这方法是下载图片:
第一个参数:图片下载显示的文件名
第二个参数:通过上一个方法得到的byte数组,传进这里就可以了
如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现:
下面这个方法实现的是把图片读取为byte数组:
private byte[] GetImageContent(string url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.AllowAutoRedirect = true; WebProxy proxy = new WebProxy(); proxy.BypassProxyOnLocal = true; proxy.UseDefaultCredentials = true; request.Proxy = proxy; WebResponse response = request.GetResponse(); using (Stream stream = response.GetResponseStream()) { using (MemoryStream ms = new MemoryStream()) { Byte[] buffer = new Byte[1024]; int current = 0; while ((current = stream.Read(buffer, 0, buffer.Length)) != 0) { ms.Write(buffer, 0, current); } return ms.ToArray(); } } }
下面这方法是下载图片:
第一个参数:图片下载显示的文件名
第二个参数:通过上一个方法得到的byte数组,传进这里就可以了
private void WriteResponse(string picName, byte[] content) { Response.Clear(); Response.ClearHeaders(); Response.Buffer = false; Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(picName, Encoding.Default)); Response.AppendHeader("Content-Length", content.Length.ToString()); Response.BinaryWrite(content); Response.Flush(); Response.End(); }
相关文章推荐
- TCP长连接和短连接 - http长轮询和短轮询
- Ruby使用eventmachine为HTTP服务器添加文件下载功能
- OkHttp使用教程
- [Android教程] android的 Http工具类
- Python实现HTTP协议下的文件下载方法总结
- okHttp开发框架使用
- ngx_http_create_request函数解析
- HttpRuntime
- android 4G产品4G网络问题记录
- android 4G产品4G网络问题记录
- HttpClient
- [NetworkFlow]网络流建模相关
- TCP—Nagle算法
- HTTP Error 500.22 - Internal Server Error报错处理方法
- Stanford公开课--神经网络的表示
- 【网络流24题】飞行员配对方案问题
- 基于httpd的https
- 服务器端程序编写
- 网络IP地址
- 常见通信协议HTTP、TCP、UDP的简单介绍