我正在尝试使用jquery ajax上传文件。我通过引用http://powerdotnetcore.com/asp-net-mvc/asp-net-mvc-simple-ajax-file-upload-using-jquery做了同样的事情。它适用于单个文件。
但我必须上传多个文件,即使我有一对多关系的模型,我必须在上传文件之前保存模型值。
如果完成回发,它运作良好。但是如果我将表格序列化则不起作用。
请帮助解决同样的问题。
有没有办法不使用任何插件来解决相同的问题?表单序列化的替代方法是什么?
答案 0 :(得分:-1)
使用formData参数并通过它传递值。
var input = $('#input');
$('#fu-my-simple-upload').fileupload({
url: '/File/UploadFile',
dataType: 'json',
formData : {id: input.val()},
add: function (e, data) {
jqXHRData = data
},
done: function (event, data) {
if (data.result.isUploaded) {
}
else {
}
alert(data.result.message);
},
fail: function (event, data) {
if (data.files[0].error) {
alert(data.files[0].error);
}
}
});
也可以在控制器中添加参数名称。
public virtual ActionResult UploadFile(string id)
{
IEnumerable<HttpPostedFileBase> myFile = Request.Files["MyFile"];
foreach(var file in myfile)
{
// save file one by one
}
// now put your code
}
在html输入字段中使用此...
<input type="file" multiple="" name="myfile[]">
希望这会有所帮助......