2011-01-07 50 views
0

我们尝试上传文件并从Flash应用程序提交参数到ASP.Net MVC2控制器。基本上,虽然这只是简单地创建一个标准的多部分/形式的职位与文件和张贴参数。asp.net mvc2文件和表单值闪存

在控制器:

public string Upload(HttpPostedFile file, string someString, 
         int someInt, DateTime someDate) 
{ 
    // some code 
    return "success"; 
} 

而且从闪存(柔性):

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"); 

控制器被实例化,但该方法没有找到,只要我们发布文件,而无需额外的params它工作正常,我们也可以得到它与文件和someInt参数,但没有别的?

+0

我会打赌一些关于AS安全,也许增加`security.allowdomain(“网站”,“IP”);`? – balexandre 2011-01-07 15:52:30

回答

1

对于其他人试图做同样的利益,我们在设法利用这一工作:

[HttpPost] 
public int Index(HttpPostedFileBase file, 
    [Bind(Prefix = "someString")] string someString, 
    [Bind(Prefix = "someInt")] int someInt, 
    [Bind(Prefix = "someDate")] string someDate) 
{ 
    // stuff here 
} 

这工作,但我不知道为什么,我还以为是前缀用于访问收集的物品或一些这样。我猜在发布文件时,关联的表单数据将传递到集合中?如果有人知道为什么或更好的方法,我很乐意把答案给别人。