我们正在尝试上传文件并从Flash应用程序向ASP.Net MVC2控制器提交参数。基本上,这只是创建一个标准的多部分/表单帖子与文件和发布的参数。
在控制器中:
public string Upload(HttpPostedFile file, string someString,
int someInt, DateTime someDate)
{
// some code
return "success";
}
从flash(flex):
var file : FileReference = "C:\someFile.txt";
var urlRequest: URLRequest = new URLRequest("http://localhost/MySite/Uploader/Upload");
urlRequest.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.someString = "test";
variables.someInt= 1;
variables.someDate = "01/01/2011 00:00:00";
urlRequest.data = variables;
file.upload( urlRequest, "file" );
控制器是实例化的,但是找不到方法,如果我们只发布没有附加参数的文件就可以正常工作,我们也可以使用文件和someInt参数来处理它,但没有别的吗?
答案 0 :(得分:1)
为了其他人尝试做同样的事情,我们设法使用以下方法使用它:
[HttpPost]
public int Index(HttpPostedFileBase file,
[Bind(Prefix = "someString")] string someString,
[Bind(Prefix = "someInt")] int someInt,
[Bind(Prefix = "someDate")] string someDate)
{
// stuff here
}
这有效,但我不知道为什么,我认为前缀是用于访问收集项目或其他一些。我想在发布文件时,关联的表单数据会在集合中传递吗?如果有人知道为什么或更好的方法,我很乐意将答案给别人。