asp.net 一次请求返回多张图片
2013-03-28 10:55
204 查看
这个也不知道当时谁提的一个小需求,想在一次请求里边,把所有图片返回了,然后再加载,- - 难道直接用img标签不好么。。
后台:
下载地址:一次请求多张图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="jquery-1.6.4.min.js" type="text/javascript"></script> <script src="Base64.js" type="text/javascript"></script> <script src="Deflate.js" type="text/javascript"></script> <script src="PNG.js" type="text/javascript"></script> <script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCase(); if (window.ActiveXObject) Sys.ie = ua.match(/msie ([\d.]+)/)[1]; $(document).ready(function () { $.get("/ImageHandler.ashx", "", function (data) { if (Sys.ie) { var xml_dom = new ActiveXObject("MSXML2.DOMDocument"); var tmpNode1 = xml_dom.createElement("tmpNode1"); tmpNode1.dataType = "bin.base64"; tmpNode1.nodeTypedValue = data.split(';')[0]; $("#img1").attr("src", " data:png/jpeg;base64," + tmpNode1.text.replace(/\n/g, "")); var tmpNode2 = xml_dom.createElement("tmpNode2"); tmpNode2.dataType = "bin.base64"; tmpNode2.nodeTypedValue = data.split(';')[1]; $("#img2").attr("src", " data:png/jpeg;base64," + tmpNode2.text.replace(/\n/g, "")); } else { $("#img1").attr("src", "data:png/jpeg;base64," + data.split(';')[0]); $("#img2").attr("src", "data:png/jpeg;base64," + data.split(';')[1]); } //alert($("#img1").attr("src")); //alert($("#img2").attr("src")); }); }); </script> </head> <body> <img id="img1" width="250" height="250"/> <img id="img2" width="250" height="250"/> </body> </html>
后台:
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Web; using System.IO; using System.Text; namespace JsTest { /// <summary> /// ImageHandler 的摘要说明 /// </summary> public class ImageHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { var picapath = context.Server.MapPath("~/images/a.png"); var picbpath = context.Server.MapPath("~/images/b.png"); var resulta = GetBase64String(picapath); var resultb = GetBase64String(picbpath); context.Response.Write(resulta + ";" + resultb); // context.Response.BinaryWrite(data); // context.Response.ContentType = "image/jpeg"; } private static string GetBase64String(string picpath) { var img = Image.FromFile(picpath); var stream = new MemoryStream(); img.Save(stream, ImageFormat.Jpeg); img.Dispose(); var data = new Byte[stream.Length]; stream.Position = 0; stream.Read(data, 0, data.Length); stream.Close(); // var stream = new FileStream(picpath, FileMode.Open); // var reader = new BinaryReader(stream); // stream.Position = 0; // var data = new Byte[stream.Length]; // reader.Read(data, 0, data.Length); // reader.Close(); // stream.Close(); var result = Convert.ToBase64String(data); return result; } public bool IsReusable { get { return false; } } } }
下载地址:一次请求多张图片
相关文章推荐
- asp.net(c#)一次预览并上传多张图片
- asp.net(c#)一次预览并上传多张图片
- asp.net(c#)一次预览并上传多张图片
- Asp.net自动返回上次请求页面
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- asp.net web API 的调用返回Json值 POST方式请求
- Asp.net自动返回上次请求页面
- Asp.net自动返回上次请求页面
- asp.net中使用Uploadify插件实现多张图片上传,上传后可显示缩略图、删除图片
- Asp.net自动返回上次请求页面
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- Asp.net mvc上传多张图片后台存储
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面
- ASP.NET(C#)实现一次性上传多张图片(多个文件)