模态框(html)
<div class="modal fade" id="myModalLabel" tabindex="-1" role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">×</span><span class="sr-only">Close</span>
</button>
<h5 class="modal-title">新增安全信息</h5>
</div>
<div class="modal-body">
<div class="ibox-content">
<form id="importForm" method="post" class="form-horizontal m-t">
<div class="form-group" >
<label class="col-sm-3 control-label">类别</label>
<div class="col-sm-8">
<input type="text" class="form-control" aria-required="true" disabled="disabled" value="安全" id="base_type">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">标题</label>
<div class="col-sm-8">
<input id="base_title" name="base_title" type="text" class="form-control" aria-required="true">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述</label>
<div class="col-sm-8">
<input id="base_desc" name="base_desc" type="text" class="form-control" aria-required="true">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">上传文件</label>
<div class="col-sm-8">
<input type="file" id="picture_path" name = "picture_path" multiple>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group draggable">
<div class="col-sm-12 col-sm-offset-3">
<button class="btn btn-primary" type="button" οnclick="save()">提交</button>
<button class="btn btn-default" data-dismiss="modal" type="button">取消</button>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
js传送数据到后台
/* 上传 */
//上传文件并更新数据
function save(){
var base_title = $("#base_title").val();
var base_desc = $("#base_desc").val();
var base_type = $("#base_type").val();
var fileObj = $("#picture_path")[0].files;
if (base_title == 0 || base_desc == 0 || $("input[type='file']").val() == "") {
alert("上传信息均不能为空");
return;
}else{
var fileController = "../../../dab/FileUpload.cyl";
var form = new FormData();
form.append("base_type",base_type);
form.append("base_title",base_title);
form.append("base_desc",base_desc);
for(var i = 0; i < fileObj.length; i++){
form.append("files", fileObj[i]);
}
var xhr = new XMLHttpRequest();
xhr.open("post", fileController, true);
xhr.onload = function(data){
var info = JSON.parse(xhr.response);
if (info.pathInfo) {
alert("成功");
$('#myModalLabel').modal('hide');
}else{
alert("上传失败,请检查文件格式是否符合要求!");
}
};
xhr.send(form);
}
}
控制层
@ResponseBody
@RequestMapping(value = "/FileUpload.cyl", method = RequestMethod.POST)
public Map<String, Object> putModelPlanFileUpload(HttpSession session, String base_title, String base_desc,
String base_type, MultipartFile[] files) {
Sys_user user = (Sys_user) session.getAttribute("Sys_user");
Map<String, Object> result = new HashMap<String, Object>();
try {
result.put("pathInfo", dabSecurityService.addFileUpload(user,base_title,base_desc,base_type,files));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
服务层
@Override
@Transactional(rollbackFor = Exception.class)//回滚所需要的
public Map<String, Object> addFileUpload(Sys_user user, String base_title, String base_desc, String base_type,
MultipartFile[] files) throws Exception {
// TODO Auto-generated method stub
Map<String, Object> result = new HashMap<String, Object>();
List<String> lresult = new ArrayList<String>();
Dab dab = new Dab();
dab.setUploadperson(user.getId());
dab.setBasedesc(base_desc);
dab.setBasetitle(base_title);
dab.setBasetype(base_type);
dabSecurityDao.addDabInfo(dab);//同步信息
if (dab.getId() != 0) {
for (MultipartFile file : files) {
// 获取文件后缀名
String originalFileName = file.getOriginalFilename();
String fileSuffix = originalFileName.substring(originalFileName.lastIndexOf(".") + 1).toLowerCase();
if ("png".equals(fileSuffix) || "jpg".equals(fileSuffix) || "jpeg".equals(fileSuffix)
|| "bmp".equals(fileSuffix) || "xls".equals(fileSuffix) || "xlsx".equals(fileSuffix)
|| "doc".equals(fileSuffix) || "docx".equals(fileSuffix) || "pdf".equals(fileSuffix)
|| "txt".equals(fileSuffix)) {// 检查后缀名
File uploadDir = new File("upload");
if (!uploadDir.isDirectory()) {// 检查目录
if (!uploadDir.mkdir()) {
result.put("message", "创建目录失败!");
}
}
StringBuilder newName = new StringBuilder();
newName.append(UUID.randomUUID().toString().replaceAll("-", ""));
newName.append(".");
newName.append(fileSuffix);
File saveFile = new File(ReadProperties.ReadProprety("upload.path"), newName.toString());
file.transferTo(saveFile);
String bas_readress = saveFile.getPath();// getPath 相对路径
System.out.println("上传路径:" + bas_readress);
DabBase dabBase = new DabBase();
dabBase.setBase_type(base_type);
dabBase.setBase_title(base_title);
dabBase.setBase_desc(base_desc);
dabBase.setBas_readress(bas_readress);
dabBase.setCreate_userid(user.getId());
dabBase.setPid(dab.getId());
dabSecurityDao.addFileUpload(dabBase);//上次图片信息
lresult.add(lresult.size(), file.getName());
} else {
throw new Exception("上传文件格式错误");//回滚所需要的,返回错误
}
}
}
result.put("savaInfo", lresult);
return result;
}
服务层接口
public Map<String, Object> addFileUpload (Sys_user user, String base_title, String base_desc, String base_type, MultipartFile[] files) throws Exception;
Dao层
public Map<String, Object> putModelPlanFileUpload(HttpSession session, String base_title, String base_desc,
String base_type, MultipartFile[] files) throws Exception;