无法显示绝对路径

时间:2016-05-05 08:59:34

标签: asp.net asp.net-mvc asp.net-mvc-4

我在asp.net mvc中开发了一个应用程序,并决定将文件存储到文件系统而不是数据库中(我只是在db表上放置文件的绝对路径)。处于开发阶段I的所有文件都放入app文件夹中的特殊专用文件夹中。在服务器上部署后,我遇到了IIS权限问题,并没有设法保存文件。然后我决定将提到的带文件的文件夹移动到C:\ Upload文件夹,一切都很好,直到我试图获取照片并使用thickbox对话框小部件(照片库)显示它。经过一些谷歌搜索后,我得出结论,asp.net mvc只能显示来自相对路径的照片。我现在能做什么,它只在BLOB中存储一个解决方案吗?

更新

型号代码

public class PriloziViewModel
{
    public string FileName { get; set; }
    public string FilePath { get; set; }       
}

控制器代码:

public ActionResult VijestiSlike(Int64 vijestID)
{
    var slike = from i in db.Slikes where i.FK_vijesti_id == vijestID select i;

    PriloziViewModel s = new PriloziViewModel();
    List<PriloziViewModel> slist = new List<PriloziViewModel>();

    foreach (var j in slike) {
        slist.Add(new PriloziViewModel()
                  {
                      FileName = j.naziv,
                      FilePath = j.link
                  });  
    }
    return View(slist);
}

查看代码:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<MyApp.Models.PriloziViewModel>>" %>

<% foreach (var item in Model) { %>        
         <a href="<%: Html.DisplayFor(modelItem => item.FilePath) %>" title="" class="thickbox" rel="gallery-plants">
         <img src="<%: Html.DisplayFor(modelItem => item.FilePath) %>" style="width:120px;height:80px;" alt="" /></a> 

<% } %>

链接以C:\ Uploads \ Photo12345.jpg

格式存储在数据库中

IIS上还添加了虚拟目录(C:\ Uploads)。

1 个答案:

答案 0 :(得分:0)

<强>解决方案:

上面的代码实际上是正确的,在设置虚拟目录后,我改变的唯一一件事是数据库中的路径。正确的路径格式是/Uploads/Photo12345.jpg