我有一个包含多个字段的表单和 Uploadify 来选择和上传文件。我有一个 javascript Submit 方法(通过单击按钮调用),它具有以下内容:
$("#UrIntakeForm").submit();
$("#file_upload").uploadify("upload");
然后,我的控制器中有两个动作,一个接收表单数据映射到的对象,另一个具有以下签名接收上传的文件:
public void UploadFile(HttpPostedFileBase fileData)
我需要做的是:
- 将表单数据保存到数据库并取回一个 ID
- 在表格中插入一行,每个上传文件的文件名和指向第一个表格的 FK
- 将文件保存在某处
- 返回带有确认号的可打印表单供用户查看
但是,我对如何完成这一系列事件感到有些困惑。首先,控制器中的 FileUpload 动作在控制器中的 SaveForm 动作之前被调用。其次,如果首先调用 SaveForm 操作,返回确认视图不会阻止文件上传吗?有人告诉我 POST 是一举发生的(文件、表单数据和所有),但不明白如果是这种情况,我怎么能有单独的操作来保存表单和文件上传。
有人可以通过此 POST(呃,这些帖子)了解幕后发生的事情以及我如何轻松获取上传的数据并使用它做我需要的事情吗?30,000 英尺的解释应该是完美的。