以前,我成功显示了这样的图片:
<img class="centered" src="~/Content/images/gif.gif" style="max-height:12vw;" />
没问题,但是此图像已添加到解决方案的图像文件夹中。
但是,当我将图像上传到API并像这样存储时:
string FileName = valueobject.PictureName;
string path = HttpContext.Current.Server.MapPath("~/UserFiles/" + valueobject.PictureOwner + "/");
string imgPath = Path.Combine(path, FileName);
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
File.WriteAllBytes(imgPath, valueobject.PictureImage);
//store UserFile with path to the image
UserFile _userFile = new UserFile();
_userFile.FileOwner = valueobject.PictureOwner;
string relativePath = "~/UserFiles/" + valueobject.PictureOwner + "/";
string imgRelativePath = Path.Combine(relativePath, FileName);
_userFile.FilePath = imgRelativePath;
图像已保存-创建了文件夹并将图像正确保存在localhost中。
但是当我尝试时,我无法解析MVC中的相对路径:
<img height="400" style="width:auto" src="@Model.HomeGalleries[g].GalleryImageStrings[i]" runat="server" />
我什至得到“残破的”图像图标
@ Model.HomeGalleries [g] .GalleryImageStrings [i] 等于 imgRelativePath
我不确定为什么这行不通。
答案 0 :(得分:0)
您必须为此实际图像路径包括Server.MapPath。像这样。
string relativePath = Server.MapPath("~/UserFiles/" + valueobject.PictureOwner + "/");
请尝试此操作。希望对您有所帮助。