ASP.Net MVC - Img Src Chemin d'accès au Serveur
Visual Studio 2012 - ASP.net - MVC 4
Je vais avoir des troubles de l'affichage d'une image à partir d'un chemin d'accès au serveur qui est stockée dans une base de données.
Je suis en utilisant HttpPostedFileBase pour récupérer le fichier que l'utilisateur a téléchargé:
using (var uow = _db.CreateUnitOfWork())
{
if (imageUpload != null && imageUpload.ContentLength > 0)
{
var fileName = Path.GetRandomFileName() + Path.GetExtension(imageUpload.FileName);
var path = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~/Uploads"), fileName);
imageUpload.SaveAs(path);
achievement.ImageLoc = path;
}
uow.Add(achievement);
Save(uow);
return true;
}
Cela permettra d'économiser le chemin d'accès absolu du fichier téléchargé dans la base de données et enregistrer le fichier sur le serveur. Lorsque j'essaie de récupérer ce chemin pour afficher un fichier image dans une vue tout ce que j'obtiens est un carré blanc comme le fichier n'est pas trouvé (about:blank lorsque clic droit -> copie l'url de l'image). Je sais que le chemin d'accès est correct parce que je suis de l'utiliser dans un autre but de permettre aux utilisateurs de télécharger des fichiers, qui fonctionne correctement. Aussi, je suis en permettant à l'utilisateur de modifier le fichier qui avec succès supprime l'ancien et télécharge un nouveau. Le seul problème que j'ai est de l'affichage d'une image dans une vue.
J'ai essayé:
<img src="@Html.Encode(Model.ImageLoc)" />
<img src=@Url.Content(Model.ImageLoc)" />
Quelqu'un serait-il en mesure de proposer quoi que ce soit?
src
tag va probablement vous donner une meilleure idée de ce qui est mauvais. Choses à vérifier pour inclure le chemin d'accès double codé (c'est à dire que vous encodez une fois sur le chemin de la base de données, et à nouveau sur le chemin) manquant ou un "/" vers la fin du chemin.<img src="\\PDC2\sites\t\<site.co.royaume-uni>\public_html\Uploads\tccxdfu0.nde.jpg" />
OriginalL'auteur Jpin | 2012-10-09
Vous devez vous connecter pour publier un commentaire.
Vous avez mémorisé le chemin absolu de l'image dans votre base de données, mais vous devez le référencer avec le chemin relatif:
Le code HTML obtenu doit ressembler à ceci:
et non pas:
parce que le client ne peut pas accéder à ces dossiers à partir du serveur.
Saweet! fonctionne très bien avec Video.js. +1
OriginalL'auteur Darin Dimitrov
Oeil à l'aide de
http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchtmlstring%28VS.100%29.aspx
Je soupçonne que c'est en cours de codage n'est donc pas la sortie que vous attendez.
OriginalL'auteur RubbleFord