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();
    }
  • 相关阅读:
    隐藏导航练习
    分层导航
    做一个问题,如果输入的答案正确则弹出正确,错误弹出错误
    同意按钮,倒计时10秒
    golang strings
    seek指针大文件上传
    go文件操作大全
    zipimport.ZipImportError: can't decompress data; zlib not available 解决办法
    centos 安装redis自启动要点
    golang 文件读取
  • 原文地址:https://www.cnblogs.com/zzgblog/p/5413593.html
Copyright © 2011-2022 走看看