【发布时间】:2015-02-03 10:33:14
【问题描述】:
我需要上传文件和一些其他数据,为此我使用了下面的代码
HTML:
<intut type='file' id='file1'>
<intut type='file' id='file2'>
javascript:
var data = new FormData(),
categories = ['node.js','redis'],
roles = ['admin','HR'];
data.Append ($('#file1').Files[0].name, $('#file1').Files[0]);
data.Append ($('#file2').Files[0].name, $('#file2').Files[0]);
data.Append ('category', 'categories');
data.Append ('role', 'roles');
$.ajax({
url: baseaddress + 'DocRepo/GetAdminUploadData',
type: 'Post',
data: data,
cache: false,
dataType: 'json',
async: false,
contentType: false,
processData: false,
success: function (data) {
},
error: function (data) {
}
});
从这里我在我的 MVC 控制器(不是 webapi)GetAdminUploadData 中有一个操作方法,我需要在其中收集所有数据(文件、类别和角色)如何做到这一点。
【问题讨论】:
-
你的 POST 方法的签名是什么?
-
@StephenMuecke
[HttpPost] public string GetAdminUploadData (){return string.empty} -
你的方法连ActionResult都不是,也没有任何参数。为您发布的值添加参数,例如
string category, string role,但由于您似乎是动态命名文件,因此您需要从Request.Files获取文件,尽管如果您有HttpPostedFileBase file1, HttpPostedFileBase file2的参数会容易得多
标签: c# jquery asp.net-mvc-5