在MVC中发布表单并上传文件序列

时间:2013-02-14 20:35:37

标签: asp.net-mvc post uploadify

我有一个包含许多字段的表单和Uploadify来选择和上传文件。我有一个javascript提交方法(通过按钮点击调用)具有以下内容:

$("#UrIntakeForm").submit();
$("#file_upload").uploadify("upload");

然后我在我的控制器中有两个动作,一个接收表格数据映射到的对象,另一个接收上传文件的以下签名:

public void UploadFile(HttpPostedFileBase fileData)

我需要做的是:

  1. 将表单数据保存到数据库并返回ID
  2. 在每个上传文件的文件名和指向第一个表的FK
  3. 的表中插入一行
  4. 将文件保存在某个地方
  5. 返回一个可打印的表格,上面有一个确认号码供用户查看
  6. 但是,我对如何完成这一系列事件感到有点困惑。首先,在控制器中的SaveForm操作之前调用控制器中的FileUpload操作。其次,如果首先调用SaveForm操作,则不会返回确认视图阻止文件上传?我被告知POST一举发生(文件,表单数据和所有),但是如果是这种情况,我不明白如何保存表单和文件上传的单独操作。

    有人可以通过这个帖子(呃,这些帖子)了解幕后发生的事情,以及我如何轻松抓取上传的数据并用它做我需要的事情?一个30,000英尺的解释应该是完美的。

1 个答案:

答案 0 :(得分:0)

您需要先上传文件并传回对主要表单的文件路径或数据的引用,以便在提交时使用。 MVC中的模型绑定器目前对于不存在的文件处理支持非常糟糕,所以遗憾的是你无法一次性完成所有这些操作。