第一部:修改jsp/config.json文件
访问前缀:#basePath#
pathFormat:uploads前面添加“/”斜杠
/* 前后端通信相关的配置,注释只允许使用多行方式 */ { /* 上传图片配置项 */ "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ "imageFieldName": "upfile", /* 提交的图片表单名称 */ "imageMaxSize": 2048000, /* 上传大小限制,单位B */ "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ "imageCompressEnable": true, /* 是否压缩图片,默认是true */ "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ "imageInsertAlign": "none", /* 插入的图片浮动方式 */ "imageUrlPrefix": "#basePath#", /* 图片访问路径前缀 */ "imagePathFormat": "/uploads/ue/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ /* {time} 会替换成时间戳 */ /* {yyyy} 会替换成四位年份 */ /* {yy} 会替换成两位年份 */ /* {mm} 会替换成两位月份 */ /* {dd} 会替换成两位日期 */ /* {hh} 会替换成两位小时 */ /* {ii} 会替换成两位分钟 */ /* {ss} 会替换成两位秒 */ /* 非法字符 \ : * ? " < > | */ /* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */ /* 涂鸦图片上传配置项 */ "scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */ "scrawlFieldName": "upfile", /* 提交的图片表单名称 */ "scrawlPathFormat": "/uploads/ue/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ "scrawlMaxSize": 2048000, /* 上传大小限制,单位B */ "scrawlUrlPrefix": "#basePath#", /* 图片访问路径前缀 */ "scrawlInsertAlign": "none", /* 截图工具上传 */ "snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */ "snapscreenPathFormat": "/uploads/ue/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ "snapscreenUrlPrefix": "#basePath#", /* 图片访问路径前缀 */ "snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */ /* 抓取远程图片配置 */ "catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"], "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */ "catcherFieldName": "source", /* 提交的图片列表表单名称 */ "catcherPathFormat": "/uploads/ue/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ "catcherUrlPrefix": "#basePath#", /* 图片访问路径前缀 */ "catcherMaxSize": 2048000, /* 上传大小限制,单位B */ "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */ /* 上传视频配置 */ "videoActionName": "uploadvideo", /* 执行上传视频的action名称 */ "videoFieldName": "upfile", /* 提交的视频表单名称 */ "videoPathFormat": "/uploads/ue/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ "videoUrlPrefix": "#basePath#", /* 视频访问路径前缀 */ "videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */ "videoAllowFiles": [ ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */ /* 上传文件配置 */ "fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */ "fileFieldName": "upfile", /* 提交的文件表单名称 */ "filePathFormat": "/uploads/ue/file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ "fileUrlPrefix":"#basePath#", /* 文件访问路径前缀 */ "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" ], /* 上传文件格式显示 */ /* 列出指定目录下的图片 */ "imageManagerActionName": "listimage", /* 执行图片管理的action名称 */ "imageManagerListPath": "/uploads/ue/image/", /* 指定要列出图片的目录 */ "imageManagerListSize": 20, /* 每次列出文件数量 */ "imageManagerUrlPrefix": "#basePath#", /* 图片访问路径前缀 */ "imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */ "imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */ /* 列出指定目录下的文件 */ "fileManagerActionName": "listfile", /* 执行文件管理的action名称 */ "fileManagerListPath": "/uploads/ue/file/", /* 指定要列出文件的目录 */ "fileManagerUrlPrefix": "#basePath#", /* 文件访问路径前缀 */ "fileManagerListSize": 20, /* 每次列出文件数量 */ "fileManagerAllowFiles": [ ".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" ] /* 列出的文件类型 */ }
第二部:添加路径配置
##ueditor编辑器 ueditor.url.base=http://localhost:8080/app
第三部:替换原来的jar
ueditor-1.1.1.jar替换ueditor-custom-1.1.1.jar
源码修改:
package com.baidu.ueditor;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import org.json.JSONArray;
import org.json.JSONObject;
public final class ConfigManager
{
private final String rootPath;
private final String originalPath;
private final String contextPath;
private static final String configFileName = "config.json";
private String parentPath = null;
private JSONObject jsonConfig = null;
private static final String SCRAWL_FILE_NAME = "scrawl";
private static final String REMOTE_FILE_NAME = "remote";
private static final String BASE_PATH = UeditorPropertyGetUtil.getResource("config").getString("ueditor.url.base");
private ConfigManager(String rootPath, String contextPath, String uri)
throws FileNotFoundException, IOException
{
rootPath = rootPath.replace("\\", "/");
this.rootPath = rootPath;
this.contextPath = contextPath;
if (contextPath.length() > 0)
this.originalPath = (this.rootPath + uri.substring(contextPath.length()));
else {
this.originalPath = (this.rootPath + uri);
}
initEnv();
}
public static ConfigManager getInstance(String rootPath, String contextPath, String uri)
{
try
{
return new ConfigManager(rootPath, contextPath, uri); } catch (Exception localException) {
}
return null;
}
public boolean valid()
{
return this.jsonConfig != null;
}
public JSONObject getAllConfig()
{
return this.jsonConfig;
}
public Map<String, Object> getConfig(int type)
{
Map conf = new HashMap();
String savePath = null;
switch (type)
{
case 4:
conf.put("isBase64", "false");
conf.put("maxSize", Long.valueOf(this.jsonConfig.getLong("fileMaxSize")));
conf.put("allowFiles", getArray("fileAllowFiles"));
conf.put("fieldName", this.jsonConfig.getString("fileFieldName"));
savePath = this.jsonConfig.getString("filePathFormat");
break;
case 1:
conf.put("isBase64", "false");
conf.put("maxSize", Long.valueOf(this.jsonConfig.getLong("imageMaxSize")));
conf.put("allowFiles", getArray("imageAllowFiles"));
conf.put("fieldName", this.jsonConfig.getString("imageFieldName"));
savePath = this.jsonConfig.getString("imagePathFormat");
break;
case 3:
conf.put("maxSize", Long.valueOf(this.jsonConfig.getLong("videoMaxSize")));
conf.put("allowFiles", getArray("videoAllowFiles"));
conf.put("fieldName", this.jsonConfig.getString("videoFieldName"));
savePath = this.jsonConfig.getString("videoPathFormat");
break;
case 2:
conf.put("filename", "scrawl");
conf.put("maxSize", Long.valueOf(this.jsonConfig.getLong("scrawlMaxSize")));
conf.put("fieldName", this.jsonConfig.getString("scrawlFieldName"));
conf.put("isBase64", "true");
savePath = this.jsonConfig.getString("scrawlPathFormat");
break;
case 5:
conf.put("filename", "remote");
conf.put("filter", getArray("catcherLocalDomain"));
conf.put("maxSize", Long.valueOf(this.jsonConfig.getLong("catcherMaxSize")));
conf.put("allowFiles", getArray("catcherAllowFiles"));
conf.put("fieldName", this.jsonConfig.getString("catcherFieldName") + "[]");
savePath = this.jsonConfig.getString("catcherPathFormat");
break;
case 7:
conf.put("allowFiles", getArray("imageManagerAllowFiles"));
conf.put("dir", this.jsonConfig.getString("imageManagerListPath"));
conf.put("count", Integer.valueOf(this.jsonConfig.getInt("imageManagerListSize")));
break;
case 6:
conf.put("allowFiles", getArray("fileManagerAllowFiles"));
conf.put("dir", this.jsonConfig.getString("fileManagerListPath"));
conf.put("count", Integer.valueOf(this.jsonConfig.getInt("fileManagerListSize")));
}
conf.put("savePath", savePath);
conf.put("rootPath", this.rootPath);
return conf;
}
private void initEnv()
throws FileNotFoundException, IOException
{
File file = new File(this.originalPath);
if (!file.isAbsolute()) {
file = new File(file.getAbsolutePath());
}
this.parentPath = file.getParent();
String configContent = readFile(getConfigPath());
try
{
JSONObject jsonConfig = new JSONObject(configContent);
if (jsonConfig != null) {
String jsonString = jsonConfig.toString();
jsonString = jsonString.replaceAll("\\#(.+?)\\#", BASE_PATH);
jsonConfig = new JSONObject(jsonString);
}
this.jsonConfig = jsonConfig;
} catch (Exception e) {
this.jsonConfig = null;
}
}
private String getConfigPath()
{
return this.parentPath + File.separator + "config.json";
}
private String[] getArray(String key)
{
JSONArray jsonArray = this.jsonConfig.getJSONArray(key);
String[] result = new String[jsonArray.length()];
int i = 0; for (int len = jsonArray.length(); i < len; i++) {
result[i] = jsonArray.getString(i);
}
return result;
}
private String readFile(String path)
throws IOException
{
StringBuilder builder = new StringBuilder();
try
{
InputStreamReader reader = new InputStreamReader(new FileInputStream(path), "UTF-8");
BufferedReader bfReader = new BufferedReader(reader);
String tmpContent = null;
while ((tmpContent = bfReader.readLine()) != null) {
builder.append(tmpContent);
}
bfReader.close();
}
catch (UnsupportedEncodingException localUnsupportedEncodingException)
{
}
return filter(builder.toString());
}
private String filter(String input)
{
return input.replaceAll("/\\*[\\s\\S]*?\\*/", "");
}
public static void main(String[] args)
{
String s = "{klsdfjkdsjf:sdffdsf#basePath#dfdsfd#sf}";
System.out.println(s.replaceAll("\\#(.+?)\\#", "http://localhost:a//"));
}
}
相关推荐
百度ueditor编辑器将图片上传到非项目根路径(保存在磁盘上)或独立服务器解决方案 教程:https://blog.csdn.net/qq_16220645/article/details/78860497 源码已经修改好了,直接buildpath到项目里就OJBK
如果通过百度Ueditor直接将图片上传到服务器上,当你重新发布项目到服务器上,容易造成图片的丢失!为了防止该事件的发生,尽量将图片上传到磁盘上或者独立存图片的服务器上!通过修改百度Ueditor源码实现
该插件主要由两部分组成:编辑器上传word插件和文档转换功能代码,最重要的是文档转换代码文件,需要稍作修改。 Laravel、thinkPHP框架需要先安装PHPword,需要用PHPword扩展将word转化成html。该插件主要由两部分...
因公司需要,自己在网上下了个有word导入功能的百度编辑器,并在这个基础上对该word导入功能进行了完善。(asp.net版本)(注意虚拟路径的问题,可以将虚拟路径去掉)
主要介绍了UEditor编辑器自定上传图片或文件路径的方法,需要的朋友可以参考下
该资源包为百度编辑器ueditor 1.3.6 NET版的上传路径修正版,使用后ueditor所上传保存的文件均存在网站主目录upload下
使用说明 功能:百度UEditor(1.1.6版本)asp.net上传组件 使用方法: ... 注意:本组件仅仅适用于版本1.1.6版本。...UEditor编辑器官方下载地址: http://ueditor.baidu.com/download.html buzhizhe 2011-10-21
使用ueditor编辑器,附件默认在ueditor/php/upload/, 但是大家的附件地址的默认路径可不是这个 ,需要修改ueditor,具体如何操作呢,下面我们就来详细讲解下
对百度ueditor富文本编辑器的修改,可支持自定义文件路径上传功能,具体使用方法,可直接替换ueditor中的ueditor-1.1.2.jar包即可使用,可参看本人的博客-“百度富文本编辑器的使用”,有具体使用介绍
经过修改的百度富文本编辑器ueditor.jar,实现自定义上传文件存储路径,不再局限于存储在项目路径下,具体看http://blog.csdn.net/maijia0754/article/details/79360788
Ueditor HTML编辑器是百度开源的HTML编辑器, 本模块帮助在Django应用中集成百度Ueditor HTML编辑器。 安装包中已经集成Ueditor v1.2.2 使用Django-Ueditor非常简单,方法如下: 1、安装方法 **方法一:下载...
将Ueditor集成到YII框架中后,参照editor_config.js中的toolbars中的内容,更改options中标签可以给编辑器添加想要的功能: 因此要想添加文件和图片上传功能,应该加入以下两个标签: 文本编辑器中便出现了对应的两...
百度编辑器 下载完成解压后只需要配置一下上传路径 基本就可以了 引入的时候需要引入ueditor/ueditor.config.js,ueditor/_examples/editor_api.js即可
四,把百度编辑器ueditor目录中的php文件复制到系统对应目录中 即保证 member\editor\ueditor\php\controller.php 这个 控制器文件可访问 然后修改controller.php 文件 第4行 把Chongqing首字母设置为大写] 即...
增加year,month,day的上传路径变量 [2014-6-25] 由于Ueditor从1.4版本开始,API发生了非常大的改动和不兼容,导致DjangoUeditor上一个版本的升级后上传功能不能用等,因此 本次重新设计了API,后端上传的代码几乎...
百度编辑器网站例子,上传路径配置到web.config里面了。可以直接测试
网上搜索后,发现有人也遇到此问题,并且对ueditor的源码进行编辑,实现了上传到项目外的指定目录下,但是不够灵活,只要使用了该jar包后,只能上传其他目录,本身到项目路径的又不支持了。我们项目的文件存放位置,...
1、Ueditor1.4.3下载(截止到2015-03-03最新版) 下载地址:http://ueditor.baidu.com/website/download.html 解决jquery冲突的jquery等相关文件下载 文件中已含js冲突修改文件,另外已修改php/config.json中的图处...