加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.Net MVC – Img Src服务器路径

发布时间:2020-12-16 03:39:32 所属栏目:asp.Net 来源:网络整理
导读:Visual Studio 2012 – ASP.net – MVC 4 我在从存储在数据库中的服务器路径显示图像时遇到麻烦. 我正在使用HttpPostedFileBase来检索用户上传的文件: using (var uow = _db.CreateUnitOfWork()) { if (imageUpload != null imageUpload.ContentLength 0) {
Visual Studio 2012 – ASP.net – MVC 4

我在从存储在数据库中的服务器路径显示图像时遇到麻烦.

我正在使用HttpPostedFileBase来检索用户上传的文件:

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;
            }

这会将上载文件的绝对路径保存到数据库中,并将文件保存到服务器上.当我尝试检索此路径以在视图中显示图像文件时,我得到的是一个空白方块,就像找不到文件一样(关于:右键单击时为空白 – >复制图像URL).我知道路径是正确的,因为我在不同的视图中使用它以允许用户下载文件,这是正常工作.此外,我允许用户编辑成功删除旧文件并上传新文件的文件.我唯一的问题是在视图中显示图像.

我试过了:

<img src="@Html.Encode(Model.ImageLoc)" />
<img src=@Url.Content(Model.ImageLoc)" />

有人能提出任何建议吗?

解决方法

您已在数据库中存储了映像的绝对路径,但您需要使用相对路径来引用它:

<img src="@Url.Content("~/Uploads/" + System.IO.Path.GetFileName(Model.ImageLoc))" alt="" />

生成的HTML必须如下所示:

<img src="/Uploads/tccxdfu0.nde.jpg" alt="" />

并不是:

<img src="PDC2sitest&;site.co.uk>public_htmlUploadstccxdfu0.nde.jpg" alt="" />

因为客户端无法从服务器访问此类文件夹.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读