对于ASP.NET来说,FORM提交时会将相关的元素信息一起提交,包括FILES类型的控件,从而实现文件的上传,如EXCEL,图片等。但目前对于HTML来说,使用FORMDATA可以实现指定元素的虚拟FORM提交,具体代码示例如下:
function submitForm() {
var form = document.getElementById('imgSelect'),
formData = new FormData(form);
formData.append("imgSelect", document.getElementById("imgSelect").files[0]);
var file = document.getElementById("imgSelect").files[0];
var fileName = file.name;
var file_typename = fileName.toString().substring(fileName.lastIndexOf('.'), fileName.length);
if (file_typename == '.jpg' || file_typename == '.gif' || file_typename == '.png' || file_typename == '.bmp')
{//这里限定上传文件文件类型
if (file) {
var fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
if (fileSize > 5) {
alert("上传图片大小不应超过5M");
}
else
{ //图片满足条件
$.ajax({
url: "/SystemManage/User/UploadImg",
type: "post",
data: formData,
processData: false,
contentType: false,
success: function (res) {
if (res.toString().length > 3) {
$("#user_IconID").attr("src", res.toString());
alert("图片上传成功!");
}
},
error: function (err) {
alert(err.toString());
}
})
}
}
}
else {//图片格式不符合规则
alert("图片格式应为jpg,gif,png,bmp,请重新选择图片");
}
}