KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to create a website to upload/display images (using MVC4). I have written the below code to fetch the images which are locally stored on the server under a folder App_Data\Images. The path for the image is stored in the ImageFile property of the model. The view renders the ID, Caption of the various images but the image is not loaded . The image file exists in the path stored against the ImageFile property. How can I fix this? //Model public class Photo { public int ID { get; set; } public string ImageFile { get; set; } //This contains a path where the image is locally stored on the server public string Caption { get; set; } byte[] Image { get; set; } } //Controller private PhotoDBContext db = new PhotoDBContext(); public ActionResult Index() { return View(db.Photos.ToList()); } //View @model IEnumerable<MyPhotoLibrary.Models.Photo> <table> @foreach (var item in Model) { <tr> <td> <img src="@Url.Content(item.ImageFile)" alt="" /> </td> <td> @Html.DisplayFor(modelItem => item.Caption) </td> </tr> } </table> Also, if I save the image as a byte array (instead of physically storing the file and using the file path), how can I re-create the image and display it in the view . i.e. how do I re-create the image from the byte array while iterating over the model in the view? EDIT I have been able to resolve the display problem by doing the below (both are needed) - 1) Changed the path to a relative path 2) Moved the images to a separate folder other than App_Data. (found this ) Thanks.
Tags (comma-separated)
Save Edits
Cancel