use of com.hxkj.system.model.SysFile in project my_curd by qinyou.
the class SysFileController method addAction.
/**
* 增加
* 文件过大 没有良好的提示性信息
*/
public void addAction() throws IOException {
Map<String, Object> result = new HashMap<String, Object>();
HashMap<String, String> extMap = new HashMap<String, String>();
extMap.put("image", prop.get("imageType"));
extMap.put("media", prop.get("mediaType"));
extMap.put("file", prop.get("fileType"));
String limitFileTypes = extMap.get("image") + "," + extMap.get("media") + "," + extMap.get("file");
UploadFile uploadFile = getFile("file");
if (uploadFile != null) {
// 文件原名
String orginFilename = uploadFile.getOriginalFileName();
// 文件后缀
String fileSuf = orginFilename.substring(orginFilename.lastIndexOf(".") + 1).toLowerCase();
if (!Arrays.<String>asList(limitFileTypes.split(",")).contains(fileSuf)) {
result.put("error", 1);
result.put("message", "只允许后缀为:<br/>" + extMap.get("image") + "<br/>" + extMap.get("media") + "<br/>" + extMap.get("file") + "<br/>格式文件");
uploadFile.getFile().delete();
} else {
// 文件量大、上传频繁 这种分发方式并不合适(文件copy后删除原文件占资源,按类型分类可能导致某个目录下文件量超多)
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileSuf;
String pre;
if (Arrays.asList(extMap.get("image").split(",")).contains(fileSuf)) {
pre = prop.get("imagePath");
} else if (Arrays.asList(extMap.get("media").split(",")).contains(fileSuf)) {
pre = prop.get("mediaPath");
} else if (Arrays.asList(extMap.get("file").split(",")).contains(fileSuf)) {
pre = prop.get("filePath");
} else {
pre = "upload/unlikeFile";
}
String relativePath = pre + "/" + newFileName;
pre = PathKit.getWebRootPath() + '/' + pre;
newFileName = pre + "/" + newFileName;
File savefile = new File(newFileName);
FileUtils.copyFile(uploadFile.getFile(), savefile);
if (uploadFile.getFile().exists()) {
uploadFile.getFile().delete();
}
SysFile sysFile = new SysFile();
SysUser sysUser = getSessionUser();
sysFile.setUserId(sysUser.getId());
sysFile.setOriginalFilename(orginFilename);
sysFile.setPath(relativePath);
sysFile.setRemark(getPara("remark"));
sysFile.setType(fileSuf);
sysFile.setCreateTime(new Date());
boolean saveFlag = sysFile.save();
if (!saveFlag) {
result.put("error", 1);
result.put("message", "数据存储失败");
savefile.delete();
} else {
result.put("error", 0);
}
}
} else {
result.put("error", 1);
result.put("message", "请选择文件");
}
render(new JsonRender(JSON.toJSONString(result)).forIE());
}
use of com.hxkj.system.model.SysFile in project my_curd by qinyou.
the class SysFileController method newModel.
/**
* 打开新增或者修改弹出框
*/
public void newModel() {
String id = getPara("id");
if (id != null) {
SysFile sysFile = SysFile.dao.findById(id);
setAttr("sysFile", sysFile);
}
render("system/sysFile_form.html");
}
use of com.hxkj.system.model.SysFile in project my_curd by qinyou.
the class SysFileController method deleteAction.
/**
* 删除
*/
public void deleteAction() {
String id = getPara("id");
SysFile sysFile = SysFile.dao.findById(id);
String filePath = PathKit.getWebRootPath() + File.separator + sysFile.getPath();
Boolean delflag = sysFile.delete();
if (delflag) {
File file = new File(filePath);
if (file.exists()) {
file.delete();
}
renderText(Constant.DELETE_SUCCESS);
} else {
renderText(Constant.DELETE_FAIL);
}
}
use of com.hxkj.system.model.SysFile in project my_curd by qinyou.
the class SysFileController method updateAction.
/**
* 修改
*/
public void updateAction() {
SysFile sysFile = getBean(SysFile.class, "");
boolean updateFlag = sysFile.update();
if (updateFlag) {
renderText(Constant.UPDATE_SUCCESS);
} else {
renderText(Constant.UPDATE_FAIL);
}
}
Aggregations