Search in sources :

Example 1 with SysFile

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());
}
Also used : SysUser(com.hxkj.system.model.SysUser) JsonRender(com.jfinal.render.JsonRender) UploadFile(com.jfinal.upload.UploadFile) SysFile(com.hxkj.system.model.SysFile) SimpleDateFormat(java.text.SimpleDateFormat) UploadFile(com.jfinal.upload.UploadFile) File(java.io.File) SysFile(com.hxkj.system.model.SysFile)

Example 2 with SysFile

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");
}
Also used : SysFile(com.hxkj.system.model.SysFile)

Example 3 with SysFile

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);
    }
}
Also used : SysFile(com.hxkj.system.model.SysFile) UploadFile(com.jfinal.upload.UploadFile) File(java.io.File) SysFile(com.hxkj.system.model.SysFile)

Example 4 with SysFile

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);
    }
}
Also used : SysFile(com.hxkj.system.model.SysFile)

Aggregations

SysFile (com.hxkj.system.model.SysFile)4 UploadFile (com.jfinal.upload.UploadFile)2 File (java.io.File)2 SysUser (com.hxkj.system.model.SysUser)1 JsonRender (com.jfinal.render.JsonRender)1 SimpleDateFormat (java.text.SimpleDateFormat)1