链接到MVC5中的上传文件?

时间:2015-01-11 09:24:25

标签: c# asp.net asp.net-mvc

两周前我一直面对这个问题,请任何帮助。

我使用HttpPostedFileBase字段创建一个模型,将文件保存在适用于Create View的文件夹中非常好。

现在我想在详细信息视图中建立上传文件的链接。

我尝试了几种方法但我找不到解决方案。

请帮助。

模型中的

我为文件

定义了一些参数和以下内容
 [NotMapped]
        [Display(Name = "C.V")]
        [DataType(DataType.Upload)]

        public HttpPostedFileBase CV { get; set; }

在控制器中我做了以下

if (ModelState.IsValid)
            {
                     if (file != null && file.ContentLength > 0)
                              {
                            // extract only the fielname
                            var fileName = Path.GetFileName(file.FileName);
                            // store the file inside ~/Content/LearnObject-Repository folder
                            var path = Path.Combine(Server.MapPath("~/Content/CVs"), fileName);
                            file.SaveAs(path);
                            var fileNameToSaveInDB = @"~/Content/CVs/" + fileName;


                        }


                db.Employees.Add(employee);
                db.SaveChanges();

谢谢,

1 个答案:

答案 0 :(得分:1)

有关您实际尝试过的内容的更多信息会有所帮助,但只需几个简单的步骤:

在模型中添加新属性

[NotMapped]
public string FileUrl { get; set; }

在控制器中设置值

public ActionResult Details(int id = 0)
{
    MyModel myModel = db.MyModel.Find(id);
    myModel.FileUrl = ""; // <-- resolve link;
    ...
}

并在视图中添加链接

<div class="display-field">
    <a href="@Html.DisplayFor(model => model.FileUrl)">Link to file</a>
</div>