您的位置:首页 > Web前端 > JQuery

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

2017-07-19 12:36 218 查看
客户端:

<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);

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: