不使用Form表单,实现单个文件和数据的上传
html代码
<input type="file" id="file1" /> <!--单个文件-->
<input type="text" id="id" />
<input type="text" id="name" />
<input type="button" id="but" value="提交" />
js代码
$("#but").click(function () {
var form_data = new FormData();
//获取文件
var file_data = $("#file1")[0].files[0];
form_data.append("id", $("#id").val());
form_data.append("name", $("#name").val());
form_data.append("img", file_data);
$.ajax({
url: "/FileTest/UpdateFile1",
data: form_data,
type: "post",
async: false,
contentType: false,
processData: false,
success: function (msg) {
alert(msg)
}
})
})
控制器
[HttpPost]
public JsonResult UpdateFile1()
{
HttpPostedFileBase MyFile = Request.Files["img"];
//新的文件名
string type = MyFile.FileName.Substring(MyFile.FileName.LastIndexOf("."));
string newName = DateTime.Now.ToFileTime() + type;
//定义服务器的文件夹,用来保存文件
var strServerFilePath = Server.MapPath("~/Image/");
//将接受到的文件保存在服务器指定上
MyFile.SaveAs(Path.Combine(strServerFilePath,newName));
string ID = Request.Form["id"];
string Name = Request.Form["name"];
return Json(ID + Name, JsonRequestBehavior.AllowGet);
}