【问题标题】:Uploading Files with Model Binding in MVC 4在 MVC 4 中使用模型绑定上传文件
【发布时间】:2013-06-27 13:09:49
【问题描述】:

我遇到了这个Upload multiple files in MVC3 with model binding,它展示了如何使用 MVC 3 上传带有模型绑定的文件。但是,我使用的是 MVC 4,并且没有这样的类型 HttpPostedFileBase。我只有HttpPostFileBaseModelBinding。这些是一样的吗?

理想情况下,我希望能够做到这一点:

public List<AdjusterFile> eoFiles { get; set; }

但是,看来我必须改为这样做:

public IEnumerable<HttpPostedFileBaseModelBinder> eoFiles { get; set; }

如何提供一个简单的属性来通过我的模型检索和发送我的文件?

编辑:

我可以将以下属性合并为一个属性来下载和上传文件吗?

public List<AdjusterFile> 
         eoFilesDownstream { get; set; } // property for retrieving existing files
public IEnumerable<HttpPostedFileBase> 
         eoFilesUpstream { get; set; } // property for uploading new files

【问题讨论】:

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


    【解决方案1】:

    HttpPostedFileBase 位于 System.Web 命名空间中,不依赖于 ASP>NET MVC 版本。检查引用和using 指令。

    【讨论】:

    • 谢谢,我刚刚添加了它,它可以工作了。但是,我不仅想从这个表单上传文件,还想显示已经上传的文件。我可以从同一个属性中执行此操作,还是必须创建一个单独的属性来检索现有文件并创建另一个属性来上传新文件?
    • 我建议您在文件上传后使用return RedirectToAction(),以防止用户在浏览器中刷新页面时重复上传。
    • 我已经在使用return RedirectToAction(),但我想问如何结合我的两个属性来从数据库中检索上传并将 HttpPostedFileBase 上传到数据库?最佳做法是什么?谢谢。
    • 您可以使用泛型类型,但在这种情况下这不是一个好主意 :) 在我的项目中,我对相同的情况使用不同的模型。
    • 请告诉我您在这种情况下的建议。你明白我想做什么吗?我既想从数据库中检索现有文件,也想通过我的表单上传新文件,无论是从我的模型传递到我的视图还是从我的视图传递。
    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    相关资源
    最近更新 更多