js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式
2016-01-22 15:35
826 查看
<asp:Button ID="btnDownLoad" runat="server" style="display: none" Text="a" OnClick="btnDownLoad_Click" TabIndex="100" /> <asp:HiddenField ID="hidImageUrl" runat="server" />
public partial class WebForm : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protected void btnDownLoad_Click(object sender, EventArgs e) { try { if (!string.IsNullOrWhiteSpace(hidImageUrl.Value)) { Response.Buffer = true; Response.AddHeader("Accept-Language", "zh-tw"); string content = hidImageUrl.Value; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(content); req.Timeout = 10000; HttpWebResponse rep = (HttpWebResponse)req.GetResponse(); Stream s = rep.GetResponseStream(); hidImageUrl.Value = ""; Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpeg", System.Text.Encoding.UTF8));//attachment Response.ContentType = "image/jpeg;charset=gbk"; System.Drawing.Image img = System.Drawing.Image.FromStream(s); img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); s.Close(); rep.Close(); Response.End(); } } catch (Exception ex) { Response.Write("请联系管理员!" + ex.ToString()); } } } }
<a href='#' id='loadimg' onclick=\"downloadFile('sss','" + ImageUrl + "')\" class='btn btn-link text-dec' > 下载</a>
function downloadFile(fileName, content) { $('#ContentPlaceHolder1_hidImageUrl').val(content); $('#ContentPlaceHolder1_btnDownLoad').click(); return false; }
以上代码主要是通过JS代码调用服务器控件的OnClick事件;在后台把图片下载后保存至Response流中;实现类似下载Excel文件的功能
相关文章推荐
- 在ASP.NET MVC 中获取当前URL、controller、action
- ASP.NET记录错误日志的实现方法
- 在ASP.Net中写系统日志
- Spring AspectJ AOP 完整示例
- ASP.Net中Session失效的一种编程思路
- 架构系列:ASP.NET 项目结构搭建
- 坎坷路:ASP.NET Core 1.0 Identity 身份验证(中集)
- Asp.Net中动态页面转静态页面
- ASP.NET 4.0尚未在 Web 服务器上注册 解决方法
- ASP.NET Core 1.0基础之静态文件处理
- ASP.NET 写错误日志以及错误引导页
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- kali 2.0 启动metasploit服务
- Asp.Net WebAPI 中Cookie 获取操作方式
- ASP.NET Web API实现缓存的2种方式
- ASP.NET十分有用的页面间传值方法
- ASP.NET Web API中通过URI显示实体中的部分字段
- JSP与ASP.PHP的比較
- RaspberryPi和Arduino控制温室温度
- PagedDataSource数据绑定控件和AspNetPager分页控件结合使用列表分页