jsp:
var formdata = new FormData();
formdata.append('file', $('#file')[0].files[0]); //上传文件
formdata.append('id', $('#id').val()); //id
formdata.append('temp_id', temp_id);
formdata.append('deadline', deadline);
$.ajax({
type: "POST",
url: 'file/save.do',
data: formdata,
dataType:'json',
processData:false,
contentType:false,
cache: false,
success: function(data){
}
});
Controller:
@RequestMapping(value="/save")
@ResponseBody
public Json save(@RequestParam(value="file", required = false) MultipartFile file,
@RequestParam(value="id",required = false) String id,
@RequestParam(value="temp_id",required = false) String temp_id,
@RequestParam(value="deadline",required = false) String deadline) throws Exception{
}
jsp页面图片预览及简单的格式验证:
<img id="imgShow" src="" height="100" width="100">
<input type="file" name="pic_url" id="pic_url" value="" onchange="checkImg(this)"/>
// js
function checkImg(obj){
var ff = $("#pic_url").val();
var type = ff.substring(ff.indexOf(".")).toLowerCase(); //截断"."之前的,得到后缀
if(ff == null || ff == ""){
bootbox.alert("请选择文件");
("#pic_url").val("");
return;
} else if(type!=".png"&&type!=".gif"&&type!=".jpg"&&type!=".jpeg"){ //根据后缀,判断是否符合图片格式
bootbox.alert("图片类型必须是.gif,jpeg,jpg,png中的一种");
("#pic_url").val("");
return;
}
//获取文件的对像
var thisFile = obj.files[0];
//设置限制图像的大小为10MB,这里你可以自己设置
var fSize = 1024 * 1024 *10;
if (thisFile.size > fSize) {
bootbox.alert("图片太大了!请上传10M以内的图片");
("#pic_url").val("");
return;
}
var read=new FileReader() // 创建FileReader对像;
read.readAsDataURL(obj.files[0]) // 调用readAsDataURL方法读取文件;
read.onload=function(){
$("#imgShow").attr("src", read.result );
}
}
excel文件:
<input type="file" name="file" id="file" onchange="uploadFile(this)"/>
function uploadFile(input){
if (input.files && input.files[0]) {
var filename = input.files[0].name;
var temp = filename.substring(filename.indexOf("."), filename.length).toLowerCase();
if (".xls" != temp && ".xlsx" != temp) {
alert('Please select .xls or .xlsx file.');
input.value = "";
return false;
}
var filesize = input.files[0].size / (1024*1024);
if (filesize > 10) {
alert('The file size should be within 10M.');
input.value = "";
return false;
}
}
}