1.前端代码
function alertUploadFile(){
//创建表单
var formData = new FormData();
var file = $("#upload").val();
console.log(file);
var arr=file.split('\\');//注split可以用字符或字符串分割
var fileName=arr[arr.length-1];//这就是要取得的图片名称
//var name = $("input").val();
formData.append("file",$("#upload")[0].files[0]);
//formData.append("name",name);
if ($('#upload').val() == "") {
alert("请选择所要上传的文件");
}else{
var index = file.lastIndexOf(".");
if(index < 0 ){
alert("上传的文件格式不正确,请选择Excel文件(*.xls)!");
}else{
var ext = file.substring(index + 1, file.length);
if(ext == "xls" || ext == "xlsx"){
//$.blockUI({ message: '<image src='image/loading.gif'></image><br><h3>正在加载中</h3>' });
startUploadFile(formData,fileName);
}else{
console.log("100");
alert("上传的文件格式不正确,请选择Excel文件(*.xls)!");
}
}
}
}
function startUploadFile(formData,fileName){
$.blockUI.defaults.message = "<image src='image/loading.gif'></image><br><h3>正在加载中</h3>";//设置遮罩层样式
//$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
$.blockUI();//开始遮罩
//开始上传
$.ajax({
url : tokenUrl+"fileUpload2",
type : 'POST',
data : formData,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
beforeSend:function(request){
request.setRequestHeader("token", token);
console.log("正在进行,请稍候");
}
}).done(function(result) {
$.unblockUI() ;//解除遮罩
var reusltData = JSON.parse(result);
console.log(reusltData);
//var staffList = ;
console.log(reusltData.msg);
localStorage.setItem("fileName",fileName);
localStorage.setItem("reusltData", JSON.stringify(reusltData));
clearFileInput();
//调用utils.js下的方法,打开新窗口
//
openNewWinByJs("uploadExcelResult.html?tag=1&fileName="+fileName+"");
//openNewWin("uploadExcelResult.html?tag=1&fileName="+fileName+"");
//console.log(json);
//alert("上传成功");
/*layer.close(index);
*/
}, 'json').fail(function() {
//网络错误
$.unblockUI()
console.log("网络错误");
localStorage.setItem("fileName",fileName);
clearFileInput();
openNewWinByJs("uploadExcelResult.html?tag=0&fileName="+fileName+"");
//openNewWin("uploadExcelResult.html?tag=0&fileName="+fileName+"");
});
}
2.后端代码
@RequestMapping("fileUpload2")
public void fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException {
long startTime=System.currentTimeMillis();
System.out.println("fileName:"+file.getOriginalFilename());
String path = "";
SystemParameter systemParameter = new SystemParameterDao().load("企业端excel上传路径");
if(systemParameter == null){
//path="C:\\Users\\fcr\\Desktop\\testupload";
path = "G:\\upload";
System.out.println("你好啊");
}else{
path = systemParameter.getValue();
System.out.println("-------");
}
String filePath=path+"/"+new Date().getTime()+file.getOriginalFilename();
File newFile=new File(filePath);
System.out.println("准备了");
//通过CommonsMultipartFile的方法直接写文件(注意这个时候)
file.transferTo(newFile);
System.out.println("要开始了");
long endTime=System.currentTimeMillis();
System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");
Map<String, Object> resultMap = customerEmployeeService.batchImportStaff(getCustomer(),filePath);
returnSuccessJson(resultMap, false);
}