我使用自定义文件上传器,需要传递名称为 files [] 的文件参数。因为它没有任何意义,文件数据是由文件上传器的默认名称发送的。但是,我不能在Controller中使用相同的参数名称。那么,我如何使用 files [] 作为输入控件的名称参数?
查看:
<input type="file" name="files[]" id="filer_input" multiple="multiple" >
<script>
function create(event) {
event.preventDefault();
var formdata = new FormData($('#frmCreate').get(0));
$.ajax({
type: "POST",
url: '@Url.Action("Create", "Experiment")',
cache: false,
dataType: "json",
data: formdata,
processData: false,
contentType: false
});
};
</script>
控制器:
public JsonResult Insert([Bind(Exclude = null)] ViewModel model,
IEnumerable<HttpPostedFileBase> files)
{
//code removed for brevity
}
有什么想法吗?
答案 0 :(得分:0)
也许,这样的事情可以帮助你。
<input type="file" name="filesInput" id="filer_input" multiple="multiple" >
public JsonResult Insert(FormCollection formCollection)
{
...formCollection["filesInput"]
}
您可以尝试添加一个集合&#34; FilesInput&#34;在ViewModel上,让模型绑定器为您完成工作。这样,您只有Insert方法的模型参数。
答案 1 :(得分:0)
参考下面的链接在控制器中实现fileContent功能 http://www.railscook.com/recipes/rails-view-controller-ajax-response-example/