zoukankan      html  css  js  c++  java
  • .net 已知图片的网络路径,通过浏览器下载图片

    没什么技术含量,主要留给自己查找方便;

    如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现:

    下面这个方法实现的是把图片读取为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();
    }
    复制代码
  • 相关阅读:
    测试面试题
    订单怎么测试?(主要测试订单的状态变化)
    还款功能怎么测试?
    登录功能怎么测试?
    apache配置详解与实践
    apache的安装
    linux系统优化(关闭SElinux、防火墙)
    linux网络配置
    linux的日志管理
    python的xlwt模块
  • 原文地址:https://www.cnblogs.com/doudouzi/p/12036845.html
Copyright © 2011-2022 走看看