.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();
}
时间: 2024-07-29 20:44:12

.net 已知图片的网络路径,通过浏览器下载图片的相关文章

php下载图片生成原始路径 并将下载过的图片路径保存到txt文件中

<?php //header("content-Type: text/html; charset=utf-8"); @ini_set('date.timezone', 'Asia/Shanghai'); @set_time_limit(0); @ini_set('memory_limit','100M'); $headurl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]; $headurl

jQuery调起浏览器下载图片,支持chrome/firefox

果然还是要买一个好一点的vpn啊,百度上千篇一律的答案,写了N多行,stackoverflow上一查就非常简单,但是不支持ie,应该用百度上面的添加iframe方法可以实现,但是我目前还没试过,等我试了再更新吧!最近要学frameword7咯~~ 代码如下: function downloadImg(hrefs) { var a = $("<a></a>").attr("href", hrefs).attr("download&qu

浏览器下载图片的方法,修改报文来实现。

public class DownloadTest : IHttpHandler { public void ProcessRequest(HttpContext context) { string f1 = context.Request["f1"];//文件流 //指定为下载操作 context.Response.ContentType = "application/octet-stream"; //附加头信息,表示保存文件时的文件名 context.Respo

cell下载图片的思路 --无沙盒(内存)缓冲

// // ViewController.m // 06-表格图片下载 // // Created by jerry on 15/9/7. // Copyright (c) 2015年 jerry. All rights reserved. // /** * 代码重构 * * 目的:1.如果代码太长,如果有一部分专门解决某一个问题,就单拿出来 * 写的时候,如果思路清晰,能够一次性写完,但是也要注意重构 * 时间长了,不好阅读 * 重构代码,便于维护 * * 重构的方法: * 如果有一部分代码专

Android采用HttpClient下载图片

在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient是个非常不错的开源框架(org.appache.http),封装了訪问http的请求头,參数,内容体.响应等等,使用起来更方面更强大. HttpURLConnection是java的标准类,能够实现简单的基于URL请求.响应功能,什么都没封装.用起来太原始.比方重訪问的自己定义,以及一些高级功能等.

IOS开发-UI学习-根据URL显示图片,下载图片的练习(button,textfield,image view,url,data)

编写一个如下界面,实现: 1.在文本输入框中输入一个网址,然后点击显示图片,图片显示到UIImageView中. 2.点击下载,这张显示的图片被下载到手机的Documents文件夹下的Dowmload目录下,并按序号命名. 3.在文本框输入完成之后点击其他地方,键盘自动消失. 准备工作: 1.输入的URL有可能是http而非https,需要在Info.plist中添加如下代码: 1 <key>NSAppTransportSecurity</key> 2 <dict> 3

微信开发之调起摄像头、本地展示图片、上传下载图片

之前那篇微信JS-SDK授权的文章实现了分享接口,那么这里总结一下如何在微信里面通过js调起原生摄像头,以及上传下载图片. 1.配置 页面引入通过jssdk授权后,传入wx对象,首先配置需要的接口 wx.config({ /* debug: true, */ appId: appid, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'chooseImage',//拍照或从手机相册中选图接口

cell下载图片思路 – 无沙盒缓存

cell下载图片思路 – 无沙盒缓存 /** *  1.会阻塞主线程 - 影响用户体验 *  2.重复下载 - 浪费流量,浪费时间,影响用户体验 */ // 保证:1张图片只下载1次 /** * 所有的应用数据 */ @property(nonatomic,strong)NSMutableArray*apps; /** * 存放所有下载操作的队列 */ @property(nonatomic,strong)NSOperationQueue*queue; /** * 存放所有的下载操作(url是k

PHP (爬虫)下载图片

原文地址:http://www.phpfensi.com/php/20140107/1128.html 通过图片地地址把图片保存到本址,这里我们直接通过readfile读取然后通过fopen保存即可,实例代码如下: <?php /** * 通过图片的远程url,下载到本地 * @param: $url为图片远程链接 * @param: $filename为下载图片后保存的文件名 */ function GrabImage($url,$filename) { if($url==""