1.前端页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试文件上传</title>
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<form action="">
<input type="file" id="upLoad" name="img">
</form>
</body>
<script type="text/javascript">
$('body').on('change','#upLoad',function(){
var formData = new FormData();
var name = $($(this)).val();
var files = $($(this))[0].files[0];
console.log(files);
formData.append("file", files);
formData.append("name", name);
formData.append("act", "PostImg");
$.ajax({
url: '/check/company/checkcard',
type: 'POST',
data: formData,
processData: false,
contentType: false,
dataType: 'json',
success:function (res) {
}
,error:function (res) {
}
});
})
</script>
</html>
java后台
package com.gx.dazong.controller;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
@Controller
@RequestMapping("/company")
public class CompanyController {
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
@RequestMapping(path = "/checkcard",method = RequestMethod.POST)
@ResponseBody
public String uploadHeader( Model model, HttpServletRequest request) {
System.out.println("ss");
MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest) request;
MultipartFile headerImage = multipartRequest.getFile("file");
if (headerImage == null) {
model.addAttribute("error", "您还没有选择图片!");
return "error1";
}
System.out.println(headerImage.getOriginalFilename());
String fileName= headerImage.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
if(StringUtils.isBlank(suffix)){
model.addAttribute("error","文件的格式不正确");
return "error2";
}
fileName = UUID.randomUUID().toString() + suffix;
System.out.println(fileName);
File dest = new File("F:\\holiday\\data\\check\\image" + "/" + fileName);
try {
headerImage.transferTo(dest);
} catch (IOException e) {
logger.error("上传文件失败: " + e.getMessage());
throw new RuntimeException("上传文件失败,服务器发生异常!", e);
}
return "success";
}
}