上传按钮
<input type="file" onchange="uploadFile()" id="file" required="required"><br>
js:
function uploadFile() {
var formData = new FormData();
var file = $("#file").get(0).files[0];
formData.append("file", file);
$.ajax({
url: javascriptUrl + "/YadjUpload/uploadFile.htm",
type: "POST",
data: formData,
contentType: false,
//必须false才会避开jQuery对 formdata 的默认处理 XMLHttpRequest会对 formdata 进行正确的处理
processData: false,
//必须false才会自动加上正确的Content-Type
success: function(data) {
$("#image1").attr("src", javascriptUrl + data);
},
error: function(error) {}
});
}
java:
public String uploadFile(String imgUrl, HttpServletRequest request, String frontSuffix) {
if (frontSuffix == null){
frontSuffix = UUID.randomUUID().toString();
} String realsavepath = request.getSession().getServletContext().getRealPath(imgUrl);
File savedir = new File(realsavepath);
// 如果目录不存在就创建
if (!savedir.exists()) {
savedir.mkdirs();
}
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multipartRequest.getFile("file");
String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
String logImageName = frontSuffix + suffix;
// 构建文件名称 /** 拼成完整的文件保存路径加文件* */
String fileName = realsavepath + File.separator + logImageName;
File file = new File(fileName);
try {
multipartFile.transferTo(file);
fileName = imgUrl + logImageName;
} catch (Exception e) {
// AJAX异常返回
e.printStackTrace();
}
return fileName;
}