ASP.NET中上载的图像路径已损坏-无法显示图像

时间:2019-06-22 21:24:46

标签: c# asp.net image relative-path

以前,我成功显示了这样的图片:

        <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

我不确定为什么这行不通。

1 个答案:

答案 0 :(得分:0)

您必须为此实际图像路径包括Server.MapPath。像这样。

string relativePath = Server.MapPath("~/UserFiles/" + valueobject.PictureOwner + "/");

请尝试此操作。希望对您有所帮助。