ऐसा करने का सबसे आसान तरीका एक HTML सहायक के साथ है। छवि फ़ाइल नाम दिखाने से पहले फ़ाइल सिस्टम की जांच करने के अतिरिक्त प्रदर्शन हिट से सावधान रहें। हालांकि हिट एक छोटा सा है, इसलिए जब तक आपको बहुत अधिक ट्रैफिक नहीं मिल रहा है तब तक आपको कोई समस्या नहीं दिखाई देगी। फिर आप कुछ प्रकार के कैशिंग को कार्यान्वित कर सकते हैं ताकि ऐप "जानता है" अगर फ़ाइल मौजूद है या नहीं।
आप के लिए एक कस्टम एचटीएमएल सहायक का उपयोग कर सकते यह
public static class ImageHtmlHelpers
{
public static string ImageUrlFor(this HtmlHelper helper, string contentUrl)
{
// Put some caching logic here if you want it to perform better
UrlHelper urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
if (!File.Exists(helper.ViewContext.HttpContext.Server.MapPath(contentUrl)))
{
return urlHelper.Content("~/content/images/none.png");
}
else
{
return urlHelper.Content(contentUrl);
}
}
}
फिर अपने ध्यान में रखते हुए आप बस का उपयोग कर यूआरएल बना सकते हैं:
<img src="<% Html.ImageUrlFor("~/content/images/myfolder/myimage.jpg"); %>" />
संपादित करें: जिम के रूप में बताया, मैं हेवन वास्तव में आकार के मुद्दे को संबोधित नहीं किया। व्यक्तिगत रूप से मैं स्वचालित आकार अनुरोध प्रबंधन/आकार का उपयोग करता हूं जो एक पूरी कहानी है, लेकिन यदि आप फ़ोल्डरों/आकारों के बारे में चिंतित हैं तो बस उस जानकारी को पथ बनाने के लिए पास करें।नीचे के रूप में:
public static class ImageHtmlHelpers
{
public static string ImageUrlFor(this HtmlHelper helper, string imageFilename, ImageSizeFolderEnum imageSizeFolder)
{
UrlHelper urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
string contentUrl = String.Format("~/content/userimages/{0}/{1}", imageSizeFolder, imageFilename);
if (!File.Exists(helper.ViewContext.HttpContext.Server.MapPath(contentUrl)))
{
return urlHelper.Content(String.Format("~/content/userimages/{0}/none.png", imageSizeFolder));
}
else
{
return urlHelper.Content(contentUrl);
}
}
}
फिर अपने ध्यान में रखते हुए आप बस यूआरएल का उपयोग कर सकते हैं:
<img src="<% Html.ImageUrlFor("myimage.jpg", ImageSizeFolderEnum.Small); %>" />
बेहतर प्रोग्राम संबंधी नियंत्रण के लिए एक Enum सुझाव दिया है, तो फ़ोल्डर एक निश्चित सेट है, लेकिन एक त्वरित के लिए और बुरा दृष्टिकोण, नहीं कारण है कि आप सिर्फ एक स्ट्रिंग का उपयोग नहीं कर सकते हैं फ़ोल्डर उत्पन्न db आदि है
आप alt = "" विशेषता छवि टैग पर उपयोग कर सकते हैं, यह करने के उद्देश्य से है कि तुम क्या करने के लिए है पूछना। – Orbit
@Oribt - 'alt' विशेषता किसी अनुपलब्ध छवि के स्थान पर एक छवि प्रदर्शित नहीं करती है, यह टेक्स्ट दिखाती है। –