asp.net-mvc – ASP.NET MVC动态生成的图像URL
发布时间:2020-12-16 03:18:50 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC应用程序,我正在显示图像. 这些图像可以位于文件系统上或数据库内.这很好,因为我可以在我的图像中使用Url.Action,在我的控制器上调用动作并从相关位置返回图像. 但是,我希望能够支持存储在Amazon S3中的图像.在这种情况下,我不希望我的控
我有一个ASP.NET MVC应用程序,我正在显示图像.
这些图像可以位于文件系统上或数据库内.这很好,因为我可以在我的图像中使用Url.Action,在我的控制器上调用动作并从相关位置返回图像. 但是,我希望能够支持存储在Amazon S3中的图像.在这种情况下,我不希望我的控制器操作返回图像,它应该生成Amazon S3的图像URL. 虽然我可以在我的视图中执行此逻辑,例如 <%if(Model.Images [0] .ImageLocation == ImageLocation.AmazonS3){%> 我需要先确保图像存在. 基本上我需要将一个大小值传递给我的控制器,以便我可以检查图像是否以该大小存在(无论是在数据库,文件系统还是亚马逊s3中).一旦我确定图像存在,那么我将URL返回给它. 希望有道理, 本 解决方法
尝试以下方法.
图像标记的模型类. public class ImageModel { public String Source { get; set; } public String Title { get; set; } } 帮手 public static String Image(this HtmlHelper helper,String source,String title) { var builder = new TagBuilder("img"); builder.MergeAttribute("src",source); builder.MergeAttribute("title",title); return builder.ToString(); } 使用Model.Images类型IEnumerable< ImageModel>查看 ... <%= Html.Image(Model.Images[0].Source,Model.Images[0].Title) %> 行动 public ActionResult ActionName(/*whatever*/) { // ... var model = ...; //... var model0 = ImageModel(); if (Image0.ImageLocation == ImageLocation.AmazonS3) model0.Source = "an amazon url"; else model0.Source = Url.Action("GetImageFromDatabaSEOrFileSystem","MyController",new { Id = Image0.Id }); model0.Title = "some title"; model.Images.Add(model0); // ... return View(model); } 动作是一种伪代码,但这个想法应该是清楚的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 根据验证程序,远程证书无效.用twitter进行外
- asp.net – 在回发上设置viewstate
- asp.net – 我如何找出哪些服务器主机LDAP在我的Windows域上
- 一段时间后的第一个请求总是很慢 – ASP.NET MVC / IIS 8.5
- asp.net-mvc-2 – 向下维护页面?
- 在asp.net中使用Eval()是什么
- 实时监控ASP.NET Web应用程序的工具和方法?
- asp.net-mvc – 没有CreateMap的简单转换时的Automapper错误
- asp.net – 如何创建/使用MembershipProvider?
- asp.net-mvc-2 – 在发布网站后无法在asp.net mvc2中加载类
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC路由:如何定义自定义
- 跨域学习笔记1--跨域调用webapi
- SimpleMembership与ASP.NET MVC 4中的自定义数据
- 具有匹配客户端和服务器端标记的ASP.NET页面的选
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话
- asp.net-core – ASPNetCore – 通过REST上传文件
- asp.net – 如何在.net 3.5中托管我的MVC3应用程
- asp.net-mvc – ASP.NET MVC是否允许私有ViewMod
- asp.net-mvc – 防止XSS攻击,仍然使用Html.Raw
- asp.net-mvc – 我的应用程序中没有加载图像,css
热点阅读