如果找不到指定的图像文件,显示默认图像的最佳方法是什么?

rom*_*n m 14 c# language-agnostic asp.net

我有一般的电子商务应用程序,我将ITEM_IMAGE_NAME存储在数据库中,有时管理员MISSPELL的图像名称.

为了避免"丢失图像"(IE中的红色X),每次显示产品列表时,我都会检查服务器上是否有与产品相关的图像,如果该文件不存在 - 我将其替换为默认图像.

据我所知,这不会影响性能,但我想知道是否有任何替代方案来修复"缺失图像"问题.

我正在使用ASP.NET + C#(.NET 3.5)

一些代码:

foreach (Item item in Items)
{
  string path = Path.Combine("~/images/", item.categoryImage);
  item.categoryImage = File.Exists(Server.MapPath(path)) ? item.categoryImage : GetImageDependingOnItemType();
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*rik 42

你可以考虑使用javascript

<img src="image.jpg" onerror="this.onerror=null;this.src='default.jpg'">
Run Code Online (Sandbox Code Playgroud)

编辑:或者编程404.aspx返回默认图像,如果请求了一个不存在的图像.

  • 如果用户未启用JavaScript,该怎么办? (2认同)