链接到 MVC5 中上传的文件

本文关键字:文件 MVC5 链接 | 更新日期: 2023-09-27 18:37:01

我从两周前就遇到了这个问题,请提供任何帮助。

我使用HttpPostedFileBase字段创建了一个模型,以将文件保存在文件夹中,它在创建视图中非常适合我。

现在我想在详细信息视图中创建一个指向上传文件的链接。

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

请提供任何帮助。

在模型中,我为文件定义了一些参数和以下内容

 [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();

谢谢

链接到 MVC5 中上传的文件

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

在模型中添加新属性

[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>