UEditor上传图片和上传文件(基于jquery)

客户端:

<script id="container" name="content" type="text/plain">

                                                                                    这里写你的初始化内容

   </script>

<script type="text/javascript">

UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
if (action == 'uploadimage') {
   //这里调用后端我们写的图片上传接口
   return '<%=basePath%>/system/FileAttachController/uploadUE.do';
}else if (action == 'uploadfile') {
   //这里调用后端我们写的图片上传接口
   return '<%=basePath%>/system/FileAttachController/uploadUE.do';
}else if (action == 'uploadvideo') {
   //这里调用后端我们写的图片上传接口
   return '<%=basePath%>/system/FileAttachController/uploadUE.do';
}else{
    return this._bkGetActionUrl.call(this, action);
}

$(function(){
//初始化UI控件
PlatUtil.initUIComp();
var ue = UE.getEditor('container', {
   autoHeightEnabled: true,
   autoFloatEnabled: true,
   maximumWords:10000,
   /* 上传图片配置项 */
   "imageActionName": "uploadimage", /* 执行上传图片的action名称 */
   "imageFieldName": "file", /* 提交的图片表单名称 */
   "imageMaxSize": 2048000, /* 上传大小限制,单位B */
   "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
   "imageCompressEnable": false, /* 是否压缩图片,默认是true */
   "imageCompressBorder": 1600, /* 图片压缩最长边限制 */
   "imageInsertAlign": "none", /* 插入的图片浮动方式 */
   "imageUrlPrefix": "", /* 图片访问路径前缀 */
   "imagePathFormat": "",
    /* 上传文件配置 */
        "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */
        "fileFieldName": "file", /* 提交的文件表单名称 */
        "filePathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */
        "fileUrlPrefix": "", /* 文件访问路径前缀 */
        "fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */
        "fileAllowFiles": [
            ".png", ".jpg", ".jpeg", ".gif", ".bmp",
            ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
            ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid",
            ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso",
            ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml"
        ], /* 上传文件格式显示 */
        /* 上传视频配置 */
        "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */
        "videoFieldName": "file", /* 提交的视频表单名称 */
        "videoPathFormat": "", /* 上传保存路径,可以自定义保存路径和文件名格式 */
        "videoUrlPrefix": "", /* 视频访问路径前缀 */
        "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */
        "videoAllowFiles": [
            ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
            ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */
            
});
});

</script>

服务端:

@RequestMapping("/uploadUE")
    public void uploadUE(HttpServletRequest request, HttpServletResponse response) {
        Map<String, Object> result = new HashMap<String, Object>();
        // 上传文件根目录文件
        String uploadRootFolder = "uploadUE";
        // 获取附件的根路径
        String rooPath = PlatPropUtil.getPropertyValue("conf/config.properties", "attachFilePath");
        // 获取网站的访问根路径
        String attachFileUrl = PlatPropUtil.getPropertyValue("conf/config.properties", "attachFileUrl");
        //获取文件存储路径
        String attachFilePath = PlatPropUtil.getPropertyValue("conf/config.properties"
                ,"attachFilePath");
        // 获取当前的日期
        String currentDate = PlatDateTimeUtil.formatDate(new Date(), "YYYY-MM-dd");
        StringBuffer uploadFileFolderPath = new StringBuffer(rooPath);
        uploadFileFolderPath.append(uploadRootFolder).append("/").append(currentDate).append("/");
        // 定义存储在数据库中的文件路径
        StringBuffer dbFilePath = new StringBuffer(uploadRootFolder).append("/").append(currentDate).append("/");
        try {
            // 创建一个通用的多部分解析器
            CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
                    request.getSession().getServletContext());
            // 判断 request 是否有文件上传,即多部分请求
            if (multipartResolver.isMultipart(request)) {
                // 转换成多部分request
                MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
                // 取得request中的所有文件名
                Iterator<String> iter = multiRequest.getFileNames();
                while (iter.hasNext()) {
                    // 取得上传文件
                    MultipartFile file = multiRequest.getFile(iter.next());
                    if (file != null) {
                        // 取得当前上传文件的文件名称
                        String originalFileName = file.getOriginalFilename();
                        String fileName = UUIDGenerator.getUUID() + "." + PlatFileUtil.getFileExt(originalFileName);
                        dbFilePath.append(fileName);
                        // 如果名称不为“”,说明该文件存在,否则说明该文件不存在
                        if (StringUtils.isNotEmpty(originalFileName)
                                && StringUtils.isNotEmpty(originalFileName.trim())) {
                            File targetFile = new File(uploadFileFolderPath.toString(), fileName);
                            if (!targetFile.exists()) {
                                targetFile.mkdirs();
                            }
                            file.transferTo(targetFile);
                        }
                        Map<String,Object> data = new HashMap<String,Object>();
                        data.put("url",  attachFileUrl + dbFilePath);
                        data.put("original", originalFileName);
                        String absoltePath = attachFilePath+dbFilePath;
                        File absolteFile = new File(absoltePath);
                        data.put("type",PlatFileUtil.getFileExt(dbFilePath.toString()));
                        data.put("size",absolteFile.length());
                        result.putAll(data);
                    }
                }
            }
            result.put("state", "SUCCESS");
        } catch (IOException e) {
            result.put("state", "");
        } catch (Exception e) {
            result.put("state", "");
        }
        this.printObjectJsonString(result, response);
    }

猜你喜欢

转载自blog.csdn.net/HuiShouDeZaiLai/article/details/75364928
今日推荐