com.eova.widget.upload.UploadController.java Source code

Java tutorial

Introduction

Here is the source code for com.eova.widget.upload.UploadController.java

Source

/**
 * Copyright (c) 2013-2016, Jieven. All rights reserved.
 *
 * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
 * To use it on other terms please contact us at 1623736450@qq.com
 */
package com.eova.widget.upload;

import java.io.File;

import org.joda.time.DateTime;

import com.eova.common.utils.xx;
import com.eova.common.utils.io.FileUtil;
import com.eova.common.utils.io.ImageUtil;
import com.eova.config.EovaConfig;
import com.eova.config.EovaConst;
import com.jfinal.core.Controller;
import com.jfinal.upload.UploadFile;

/**
 * 
 * 
 * @author Jieven
 * 
 */
public class UploadController extends Controller {

    // (html,??)
    public void img() {

        String name = getPara("name");
        String filedir = getPara("filedir");
        if (xx.isEmpty(name)) {
            renderHtml("{\"success\":false, \"msg\": '???'}");
            return;
        }
        if (xx.isEmpty(filedir)) {
            filedir = "/temp";
        }

        String fileName = "";

        UploadFile file = null;
        try {

            // 
            file = getFile(name, FileUtil.formatPath(filedir));
            if (xx.isEmpty(file)) {
                renderHtml("{\"success\":false, \"msg\": ''}");
                return;
            }
            // ??
            if (FileUtil.checkFileSize(file.getFile(), EovaConst.UPLOAD_IMG_SIZE)) {
                String msg = "??2M";
                renderHtml("{\"success\":false, \"msg\": '" + msg + "'}");
                return;
            }
            // ?(?+)
            if (!ImageUtil.isImage(file.getFile().getPath())) {
                renderHtml(
                        "{\"success\":false, \"msg\": '?'}");
                return;
            }

            // ???
            fileName = file.getFileName();
            // ??
            String suffix = FileUtil.getFileType(fileName);
            // ???
            fileName = System.currentTimeMillis() + suffix;

            //  Path
            String path = file.getUploadPath() + File.separator + fileName;

            FileUtil.rename(file.getFile().getPath(), path);
            System.out.println(file.getFile().getPath());
            System.out.println(path);

        } catch (Exception e) {
            e.printStackTrace();
            renderHtml("{\"success\":false, \"msg\": ',???'}");
            return;
        }
        // html,??
        renderHtml("{\"success\":true, \"msg\": \"?\", \"fileName\": \"" + fileName + "\"}");
    }

    // 
    public void file() {
        String filedir = getPara("filedir");
        if (xx.isEmpty(filedir)) {
            // 
            String today = DateTime.now().toString("yyyyMMdd");
            filedir = File.separator + "upload" + File.separator + today;
        }
        upload(false, filedir);
    }

    // 
    public void tempfile() {
        upload(true, EovaConfig.props.get("eova_upload_temp"));
    }

    // (html,??)
    private void upload(boolean isDelete, String fileDir) {
        String name = getPara("name");
        if (xx.isEmpty(name)) {
            renderHtml("{\"success\":false, \"msg\": '???'}");
            return;
        }

        String fileName = "";

        UploadFile file = null;
        try {
            // /upload 
            file = getFile(name, fileDir);
            if (xx.isEmpty(file)) {
                renderHtml("{\"success\":false, \"msg\": ''}");
                return;
            }
            // ??
            if (FileUtil.checkFileSize(file.getFile(), 1024 * 500)) {
                String msg = "??500M";
                renderHtml("{\"success\":false, \"msg\": '" + msg + "'}");
                return;
            }
            // ?
            if (!FileUtil.checkFileType(file.getFile().getPath(), false)) {
                renderHtml("{\"success\":false, \"msg\": '?'}");
                return;
            }

            // ???
            fileName = file.getFileName();
            // ??
            String suffix = FileUtil.getFileType(fileName);
            // ???
            fileName = System.currentTimeMillis() + suffix;

            //  Path
            String path = file.getUploadPath() + File.separator + fileName;

            FileUtil.rename(file.getFile().getPath(), path);
            System.out.println(file.getFile().getPath());
            System.out.println(path);

        } catch (Exception e) {
            e.printStackTrace();
            renderHtml("{\"success\":false, \"msg\": ',???'}");
            return;
        } finally {
            if (isDelete) {
                // ()
                FileUtil.delete(file.getFile());
            }
        }
        // html,??
        renderHtml("{\"success\":true, \"msg\": \"?\", \"fileName\": \"" + fileName + "\"}");
    }

}