JAVA_文件上传(html,js,后台逻辑)

来源:互联网 发布:报税软件 编辑:程序博客网 时间:2024/05/16 10:17
HTML:
<form id="uploadFiles" method="post" enctype="multipart/form-data">
<table>
<tr>
<td style="width:12%;text-align:center;vertical-align:top"><a style="color:red">*</a>附件上传:</td>
<td style="width:52%">
<input id="scromFile" type="file" name="uploadFile" />
<input type="submit" onclick="uploadFiles()" value="上传" class="fileup" />
</td>
</tr>
</table>
</form>


JS:
function uploadFiles(){
$('#uploadFiles').form(
{
url : baseUrl+'/downloadCenter/uploadFiles',
onSubmit : function() {
},
success : function(data) {
var obj=JSON.parse(data);
if (obj.result == "false") {
$.messager.alert('提示信息', '上传失败', 'warning');

} else if(obj.result=="size"){
$.messager.alert('提示信息', '文件过大', 'warning');
}else if(obj.result=="null"){
$.messager.alert('提示信息', '上传不能为空', 'warning');
}
else{
$.messager.alert("提示信息", "上传成功", "info", function(data) {

});
}
},
error : function(date) {
}
});
}


后台逻辑:
Controller:
@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST)
public void uploadFile(MultipartFiles multipartFiles, HttpServletRequest request,HttpServletResponse resp)throws Exception {

Map<String,Object> map= downloadCenterService.uploadFile(multipartFiles,request);

try {
resp.setContentType("text/plain; charset=UTF-8");
resp.getWriter().write(JSONObject.toJSONString(map));
} finally {
resp.getWriter().close();
}
}
Service:
public Map<String, Object> uploadFile(MultipartFiles multipartFiles, HttpServletRequest request) throws Exception {
MultipartFile uploadFile = multipartFiles.getUploadFile();
Map<String, Object> map = new HashMap<>();
// 声明标识符
boolean flag = false;
if (uploadFile.getSize() != 0) {
flag = true;
}
if (!flag) {
map.put("result", "null");
return map;
}
// 如果校验成功,重置标志位
flag = false;


Long imgSize = IMG_SIZE;
// 校验图片大小
if (uploadFile.getSize() > imgSize) {
map.put("result", "size");
return map;
} else {
flag = true;
}
if (flag) {
String fileName = uploadFile.getOriginalFilename(); // 文件名
String realPath = DOWNLOAD_CENTER_UPLOAD + ""; // 文件上传路径
String saveFile = DOWNLOAD_CENTER_SAVE + "/" + fileName; // 存入数据库中的路径
File targetFile = new File(realPath, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}


try {
// 文件转存
uploadFile.transferTo(targetFile);
map.put("result", saveFile);
map.put("name", fileName);
map.put("size", uploadFile.getSize() / 1024);
return map;
} catch (Exception e) {
e.printStackTrace();
}
}


map.put("result", "false");
return map;
}