2009-09-11 10 views
6

मैं एएसपीएनटी एमवीसी के लिए नया हूं, लेकिन मैं जीडीआई + के साथ एक मजाकिया ऐप करने की कोशिश कर रहा हूं और मुझे एएसपीएनटी एमवीसी के साथ कुछ छवि दृश्य करने की ज़रूरत है।एएसपी.NET एमवीसी एक मॉडल में एक छवि की छवि संपत्ति कैसे प्रदर्शित करें?

मैं एक मॉडल जो एक छवि संपत्ति है है:

namespace DomainModel.Entities 
{ 
    public class BackgroundImage 
    { 
     // Properties 
     public Image Image {get; private set; } 

     public BackgroundImage() 
     { 
      Image = Image.FromFile(@"D:\ProjectZero\DomainModel\image\bkg.PNG"); 

     } 
    } 
} 

नियंत्रक देखे जाने के बाद करने के लिए भेजता है:

<p> Height: </p><%= Model.Image.Height //it prints the height of the image %> </br> 
<p> Width: </p><%= Model.Image.Width //it prints the width %> </br> 
<p> Image: </p><%= Model.Image //does not work to display the image %> 

:

public ActionResult Index() 
     { 

      BackgroundImage bkImg = new BackgroundImage(); 
      return View(bkImg); 
     } 

दृश्य इस तरह दिखता है मैं उस छवि संपत्ति को कैसे प्रदर्शित करूं?

मुझे एक div के लिए पृष्ठभूमि छवि की आवश्यकता है। मुझे छवि का आकार बदलने की आवश्यकता नहीं है, मुझे केवल इसे अपने सामान्य आकार में प्रदर्शित करने की आवश्यकता है।

क्या कोई एचटीएमएल हेल्पर है जिसे मैं याद करता हूं?

धन्यवाद, आपके समय के लिए!

उत्तर

15

आप एक नियंत्रक कार्रवाई कि प्रतिक्रिया स्ट्रीम में छवि लिखने और कहने के लिए "छवि/png" उचित सामग्री प्रकार सेट हो जाएगा लिखने के लिए की जरूरत है।

public ActionResult Image() 
{ 
    byte[] image = GenerateImage(); 
    return File(image, "image/png"); 
} 

और आपके विचार के अंदर: तो फिर आप अपने ध्यान में रखते हुए इस कार्रवाई को संदर्भित करने के img टैग का उपयोग कर सकते हैं

<img src="<%= Url.Action("Image") %>" alt="" /> 
+1

यह मेरी समस्या हल, लेकिन मैं उपयोग करने के लिए इस की जरूरत: सार्वजनिक बाइट [ ] imageToByteArray (System.Drawing.Image imageIn) { मेमोरीस्ट्रीम एमएस = नया मेमोरीस्ट्रीम(); imageIn.Save (ms, System.Drawing.Imaging.ImageFormat.Gif); वापसी ms.ToArray(); } मेरी छवि को बाइट सरणी में परिवर्तित करने के लिए। – andreiursan

+1

मैं इसे 2 दिनों के लिए करने की कोशिश कर रहा हूं और HttpHelpers के पथ का नेतृत्व कर रहा हूं, ImageResults नामक एक्शन रिसेट्स को प्राप्त किया है और मुझे कोई जगह नहीं मिली है, यह समाधान पहली बार काम करता है, बढ़िया !! –

+0

उपरोक्त दृश्य कोड उदाहरण में साइन इन गुम है। kroiz

1

यदि आप इस तरह की चीजें करना चाहते हैं तो आपको एक HttpHandler की आवश्यकता होगी।

http://dotnetperls.com/ashx-handler

संबंधित मुद्दे