为了账号安全,请及时绑定邮箱和手机立即绑定

C#如何通过URL下载图片?

C#如何通过URL下载图片?

C#
婷婷同学_ 2018-08-08 11:14:21
生成图片的URL假设是这样:http://localhost/administrator/qrcode.aspx?pid=78qrcode.aspx.cs的生成图片的部分代码:Image image = new Bitmap(200, 200); Graphics g = Graphics.FromImage(image);try{   string url="http://localhost";   DotNetBarcode bc = new DotNetBarcode();   bc.Type = DotNetBarcode.Types.QRCode;   bc.PrintCheckDigitChar = true;   bc.WriteBar(url, 0, 0, 210, 210, g);   System.IO.MemoryStream ms = new System.IO.MemoryStream();   image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);   Response.ClearContent();   Response.ContentType = "image/Png";   Response.BinaryWrite(ms.ToArray());   ms.Dispose(); }finally{   g.Dispose();   image.Dispose(); }现在如果我要输入http://localhost/administrator/qrcode.aspx?pid=78&download=true就下载图片到本地要怎么做?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

主要是让浏览器直接下载文件而不是打开文件。
要做两步。
一就是把响应头的类型设置成application/octet-stream
二就是设置HTTP响应头的名字为Content-Disposition,设定值为attachment; filename=theFilename。这里的theFileName就是文件下载对话框里面的默认文件名。

Response.ClearContent();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode("qrcode.png", System.Text.Encoding.UTF8));
Response.BinaryWrite(ms.ToArray());


查看完整回答
反对 回复 2018-08-20
  • 1 回答
  • 0 关注
  • 1895 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信