html - 使用 MVC 的布局页面中的动态 Logo 图像

标签 html css asp.net-mvc dynamic

我只是制作简单的网络应用程序,用户可以在其中上传 Logo 图像文件以使用 MVC 将其放置在布局页面中。 如果用户上传新的 Logo 图像文件,它将替换之前的图像文件并在下次刷新时显示。但我不知道哪种方式优雅。

目前,当用户上传logo图片时,图片的本地路径和相关信息会保存在数据库中。

在布局页面中,

 <img src="@Url.Action("GetLogo","BaseController")" alt="Logo"/>

“GetLogo”操作从数据库中检索保存的本地路径并返回 FileContentResult,如下所示

 public FileContentResult GetLogo(string param)
 {
    //retrieving path from db
    //return new FileContentResult(bytes, "image");
 }

这现在工作正常。但它似乎效率较低,因为每次用户移动时,布局页面也会刷新并且必须去做一些数据库查询以获取路径信息。

我能想到的另一种方式是应该像下面这样使用静态文件名。

<img src="@Url.Content("~/Content/logo.png")" alt="Logo"/>

因此,当用户上传新的标志文件时,服务器必须将新标志图像文件的名称更改为 logo.png。但我不确定当用户上传不同的文件类型(如 jpeg 和 gif)时它是否有效。

数据库查询可能不是服务器的负担。所以我可能会坚持使用第一种方法。但我不确定。 如果有哪位有经验的大侠能给我点建议,我将不胜感激。 谢谢,

最佳答案

我建议在用户上传 Logo 后在服务器上进行图像转换。为了节省空间和带宽,大多数 Web 提供商(例如 Twitter)将图像保存为 JPG。

关于html - 使用 MVC 的布局页面中的动态 Logo 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50121001/

相关文章:

c# - 为什么 HTML 助手 EditorFor of type file 在 C# 和 ASP.NET MVC 中生成多个文件字段?

html - Weebly 导航栏中的中心内容

html - iFrame 比 iPhone 6 上的整个屏幕还宽

JavaScript 按类名获取所有元素,同时排除特定类?

javascript - 访问类 ="input-append"的元素

javascript - 悬停结束时二级菜单消失

c# - Html.BeginForm 会在该区域后自动添加一个子文件夹

html - 仅将混合模式应用于投影

html - 如何让CSS动画顺利回到原来的位置

c# - 在数据表中呈现 HTML