在ASP.net開發中如果想要實現圖片找不到時顯示預設圖片的功能,我們有以下幾種方法:
1。js
可以獲得頁面上每個image標籤的對象。然後再設定它的src屬性就ok了。
代碼 <script>
function window.onload() { var img = document.getElementById("form1").getElementsByTagName("img") for (var i = 0; i < img.length; i++) { if (img[i].readyState == "uninitialized") { img[i].src = "../images/defaultImage.bmp"; } } }
</scirpt>
2.webconfig配置
在webconfig中配置可以簡便實用的解決一些棘手的問題。首先,每次解決方案的運行都要載入webconfig設定檔。我們可以寫個公用類來繼承IHttpHandler。在webconfig中配置 <httpHandlers> </httpHandlers>。
(1).類的方法
代碼 public ImageManager() { // //TODO: 在此處添加建構函式邏輯 // } private const string DEFAULTIMAGE_URL = "DEFAULT.JPG";
public bool IsReusable { get { return false; } }
public void ProcessRequest(HttpContext context) { //獲得請求的每個圖片的不同的物理地址 string imgPhysicalPath = context.Request.PhysicalPath; System.Drawing.Image image = null;
if (File.Exists(imgPhysicalPath)) { //為空白
} else { //如果圖片不存在,放上預設的圖片 image = System.Drawing.Image.FromFile(context.Server.MapPath(DEFAULTIMAGE_URL)); } //設定輸出的類型 context.Response.ContentType = "image/jpeg"; //把圖片儲存到輸出資料流裡 image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); image.Dispose();
}
(2).webconfig配置
<add verb="*" path="路徑/*.jpg" type="公用類名"/>