WEB开发网
开发学院WEB开发ASP.NET asp.net mvc 3.0 动态无损图片压缩,及路由定义 阅读

asp.net mvc 3.0 动态无损图片压缩,及路由定义

 2012-07-06 22:41:47 来源:WEB开发网   
核心提示: 1.定义路由2.编写控制器3.编写图片压缩方法4.测试运行---1.定义路由 ,一般写在 Globals.cs 文件中public static void RegisterRoutes(RouteCollection routes){~/images/XiaZhuang/649500/test.jpgroutes.M

 1.定义路由

2.编写控制器

3.编写图片压缩方法

4.测试运行

---------------------------------------------------

1.定义路由 ,一般写在 Globals.cs 文件中

public static void RegisterRoutes(RouteCollection routes)
{

////~/images/XiaZhuang/649500/test.jpg
routes.MapRoute(
"Default12", // 图片路由名称
"{controller}/{action}/{width}/{height}/{root}/{type}/{pid}/{imgName}/", // 带有参数的 URL
new { controller = "EBMS", action = "Index", id = UrlParameter.Optional }, // 参数默认值
new string[] { "EB.Ctrl.Controllers" });
}
2.编写控制器

public class ImagesController : Controller
{
/// <summary>
/// 图片压缩处理
/// </summary>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
/// <param name="root">根节目录</param>
/// <param name="type">类型</param>
/// <param name="pid">商品ID</param>
/// <param name="imgName">图片名称</param>
/// <returns></returns>
public string Ebms(string width,string height,string root,string type,string pid,string imgName)
{
string sourceFile = string.Format("~/{0}/{1}/{2}/{3}"
, root
, type
, pid
, imgName);

sourceFile = Server.MapPath(sourceFile);
if (!System.IO.File.Exists(sourceFile))
return string.Format("图片路径无效:{0}",sourceFile);

EB.Sys.Images.ImgThumbnail.Thumbnail(
sourceFile
, Response.OutputStream
, width.GetInt()
, height.GetInt()
, 90
, Sys.Images.ImgThumbnail.ImgThumbnailType.W);
//测试输出流中是否存在内容
//byte[] arr = new byte[1000];
//Response.OutputStream.Write(arr,0,arr.Length);
return string.Empty;
}
}

3.编写图片压缩方法

这个方法在我另外一篇文章中有介绍,这里做了个加工

http://blog.csdn.net/xxj_jing/article/details/7715729

using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;

namespace EB.Sys.Images
{
/// <summary>
/// 图片压缩
/// </summary>
public class ImgThumbnail
{
/// <summary>
/// 指定缩放类型
/// </summary>
public enum ImgThumbnailType
{
/// <summary>
/// 指定高宽缩放(可能变形)
/// </summary>
WH = 0,
/// <summary>
/// 指定宽,高按比例
/// </summary>
W = 1,
/// <summary>
/// 指定高,宽按比例
/// </summary>
H = 2,
/// <summary>
/// 指定高宽裁减(不变形)
/// </summary>
Cut = 3
}
#region Thumbnail
/// <summary>
/// 无损压缩图片
/// </summary>
/// <param name="sourceFile">原图片</param>
/// <param name="stream">压缩后保存到流中</param>

1 2 3  下一页

Tags:asp net mvc

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接