`

UEditor Java 上传图片配置

    博客分类:
  • web
阅读更多
不使用默认的ueditor-mini.jar进行上传,自定义上传
关于UEditor的搭建我这里就不用细说了,这个官网的例子很详细
这里只说配置上传,使用的springmvc
首先找到umeditor.config.js,找到下面这样的代码
 //为编辑器实例添加一个路径,这个不能被注释
        UMEDITOR_HOME_URL : URL

        //图片上传配置区
        ,imageUrl:URL+"jsp/imageUp.jsp"             //图片上传提交地址
        ,imagePath:URL + "jsp/"                     //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置   
        ,imageFieldName:"upfile"                   //图片数据的key,若此处修改,需要在后台对应文件修改对应参数


现在来说一下上面的参数:
URL,这里指向的是你项目的ueditor文件夹
比如我的umeditor.js放在项目webroot/ueditor/umeditor.js这里,那么URL就是
HTTP://ip:port/webname/ueditor/,
当然具体的地址要根据你的配置文件而定
其中的imageFieldName:"upfile"这里的upfile就是<input type="file" name="upfile"/>这个upfile很重要,后台的数据就靠它获得,你这里修改了后台也要做相应处理
然后把上面的代码修改成指向自己写的contorller

 //为编辑器实例添加一个路径,这个不能被注释
        UMEDITOR_HOME_URL : URL

        //图片上传配置区
        ,imageUrl:root+"/upload/img"             //图片上传提交地址
       // ,imageUrl:URL+"jsp/imageUp.jsp"             //图片上传提交地址
       // ,imagePath:URL + "jsp/"                     //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
// 这里的imagePath就是下面的_file方法
// 其路径是root/upload/file/+result.url,result是上传返回的json
         ,imagePath:root + "/upload/file/"   
        ,imageFieldName:"upfile"                   //图片数据的key,若此处修改,需要在后台对应文件修改对应参数



里面的root是项目的根路径
/upload/img就是后台的controller处理地址
/upload/file/也是后台的处理地址,这个这里有一点要注意,我在controller里说明
接下来是/upload/img的controller
/**
* @upfile 就是上面提到的upfile,要对应一致
*/
@RequestMapping("/upload/img")
	@ResponseBody
	public String upload(@RequestParam("upfile") MultipartFile upfile,HttpServletRequest request, HttpServletResponse response) throws Exception {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		String result = "";
		if(path == null) {
			System.out.println(">> the get file path error!");
			return result;
		}
		FileOutputStream out = null; 
		try {
			// 存放路径,如果不存在则创建路径
			File file = new File(rootPath);
			if(!file.exists()) file.mkdirs();
			// 随机生成文件名,oname是原始文件名称
			String fname = randomName(), 
				   oname = upfile.getOriginalFilename();
			out = new FileOutputStream(rootPath + "/" + fname);
			out.write(upfile.getBytes());
			out.close(); 
			//{"name":"10571402926855858.jpg", "originalName": "china.jpg", "size": 43086, "state": "SUCCESS", "type": ".jpg", "url": "upload/20140616/10571402926855858.jpg"}
			// result返回的url参照IndexController._file方法
			result = "{\"name\":\""+ fname +"\", \"originalName\": \""+ oname +"\", \"size\": "+ upfile.getSize() +", \"state\": \"SUCCESS\", \"type\": \""+FileUtils.getExt(oname)+"\", \"url\": \""+path + "_" + fname+"\"}";
			result = result.replaceAll( "\\\\", "\\\\" );
		} catch(Exception e) {
		} finally {
			out.close();
		}

		return result;
	}




这就是上传的controller处理方法,里面只有2点注意:
1)就是result的返回格式,可以参照官方的例子
2)就是result返回的url,这个具体说明请往下看
/**
	 * 获得图片
	 * @param path 图片路径:140615_xxx,格式为:datedir_filename
	 * @param request
	 * @param response
	 */
@RequestMapping(value = "/file/{path}")
	public @ResponseBody
	void _file(@PathVariable String path, HttpServletRequest request, HttpServletResponse response) {
                // 这个path就是上面result的url
                // 因为我是多层目录所以就使用了_下划线代替/
                // 主要就是注意路径要对应一致就行了
		path = path.replaceAll("_", "/");
		FileInputStream in = null;
		OutputStream out = null;
		try {
			File file = new File(rootPath + path);
			in = new FileInputStream(file);
			byte[] b = new byte[(int) file.length()];
			in.read(b);
			in.close();
			response.setContentType("image/*");
			out = response.getOutputStream();
			out.write(b);
			out.flush();
			out.close();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (in != null)
					in.close();
				if (out != null)
					out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
分享到:
评论
3 楼 junko2013 2015-04-17  
2 楼 xlaohe1 2014-11-06  
lifeiez 写道
请教高人:前台提交一个图片到后台,@RequestMapping("/upload/img") 处理完后,返回到前台一个字符串,前台要拿到这个字符串,拼成<img src="xxxxx">,这个拼装是在哪里处理的?


我看了一下代码,需要改一下代码。
方法如下:找到umeditor.js,在里面找到
UM.commands['insertimage'] = {
    execCommand:function (cmd, opt) {
		// TODO sth.
		// 这里写你要处理的事情
		// 上传图片成功后单击确定会调用这里
		// opt就是一个数组,每个元素有一个src和_src属性,其中src就是上传图片的地址
		// 所以可以在这里写自定义的一些函数,或一些处理方法
1 楼 lifeiez 2014-11-06  
请教高人:前台提交一个图片到后台,@RequestMapping("/upload/img") 处理完后,返回到前台一个字符串,前台要拿到这个字符串,拼成<img src="xxxxx">,这个拼装是在哪里处理的?

相关推荐

    ueditor上传图片配置

    4. **图片存储配置**:根据项目需求,可以配置图片的存储方式,如本地文件系统、阿里云OSS、腾讯COS等。在SpringBoot中,可以通过配置文件(application.properties或application.yml)来设置图片存储路径或服务。 ...

    ueditor基本配置、图片上传配置、文件上传配置

    文件上传配置与图片上传类似,只需在`fileUp.jsp`中导入`Uploader`类并配置相应的`fileUrl`和`filePath`。 【目录结构】 在项目根目录`webroot`下,ueditor位于`/resources/ueditor`,图片上传的保存路径为`/...

    Ueditor上传图片+图片回显+图片在线管理配置说明

    **Ueditor 图片上传与回显配置详解** Ueditor 是一款功能强大的富文本编辑器,广泛应用于各种内容管理系统中。在使用 Ueditor 进行文本编辑时,图片上传、回显以及在线管理功能是非常关键的。本文将详细介绍如何...

    UEditor图片上传到后台

    一、UEditor图片上传配置 UEditor在初始化时,可以通过配置参数来设定图片上传的行为。例如,`serverUrl`参数用于指定图片上传的服务器接口地址,`imageFieldName`参数定义了上传图片时发送到服务器的字段名,通常...

    ueditor上传图片到阿里云oss服务器

    - 配置图片服务器地址,将阿里云OSS的Endpoint填入,例如`http://your-bucket-name.oss-cn-hangzhou.aliyuncs.com`。 - 配置上传参数,包括Access Key ID、Access Key Secret、Bucket名以及图片保存路径。 4. **...

    ueditor java开发前后端分离 后端代码

    ueditor的Java版本提供了与后端服务器交互的能力,如图片上传、文件管理等。前后端分离意味着前端专注于用户体验和界面展示,后端专注于数据处理和业务逻辑,两者通过API进行通信。 【压缩包子文件的文件名称列表】...

    ueditor可运行上传图片Javaweb项目

    综上所述,这个压缩包文件的使用者应该能够从中获取到一个完整的ueditor集成的JavaWeb项目实例,包括必要的配置文件、Java代码、以及可能的示例图片。通过学习和研究这个项目,开发者可以了解如何在自己的JavaWeb...

    百度UEditor自定义上传图片存储路径为本地路径

    1. 配置项修改:首先,你需要在UEditor的配置文件(通常名为`config.js`)中找到关于图片上传的配置部分。这里需要修改`serverUrl`属性,将其设置为你服务器上处理图片上传请求的接口地址。 2. 服务端处理:UEditor...

    UEditor(五)——解决上传图片时报错:未找到上传数据

    总之,解决UEditor上传图片时报错“未找到上传数据”的问题,需要从服务器端配置、URL设置、后端代码、权限以及返回数据格式等方面进行排查。同时,熟悉和利用好提供的库文件,可以更高效地实现文件上传功能。

    ueditor出现后端配置问题

    ueditor 后端配置问题解决方案 ueditor 是一个功能强大且流行的富文本编辑器,但是在实际应用中,ueditor 的前端配置问题经常会让开发者感到头疼。今天,我们将讨论如何解决 ueditor 的后端配置问题,让开发者更...

    UEditor上传图片测试项目

    【标题】:“UEditor上传图片测试项目” UEditor是由百度开发的一款开源的富文本编辑器,主要用于网页内容的编辑和格式化。这个测试项目是为了验证UEditor在实际应用中的图片上传功能,确保用户可以在编辑器中方便...

    ueditor服务端代码java

    在Java后端,我们需要处理UEditor上传的文件和图片,以及生成预览所需的JSON数据。下面将详细阐述这个项目涉及的关键知识点。 1. **UEditor介绍**: UEditor是一款由百度开发的开源JavaScript富文本编辑器,它提供...

    ueditor 上传图片

    2. **图片上传配置** 在ueditor 的配置项中,可以通过`serverUrl`设置服务器端接收图片的URL。ueditor 会将图片数据POST到这个地址,并期望返回一个包含图片URL的JSON响应。例如: ``` serverUrl: "/upload/image...

    ueditor jsp 图片上传demo

    【标题】"ueditor jsp 图片上传demo"是一个基于Ueditor编辑器的Java Web应用程序示例,展示了如何在jsp页面上实现图片上传功能。Ueditor是一款强大的富文本编辑器,广泛应用于网页内容编辑,支持多种语言,包括...

    ueditor_ jsp版_可上传图片

    【标题】"ueditor_ jsp版_可上传图片" 指的是一个基于Java Web的富文本编辑器——UEditor的JSP版本,它具备图片上传功能。UEditor是一款广泛应用的在线富文本编辑器,尤其在网页内容编辑、内容管理系统的开发中常见...

    ueditor上传图片jsp方式

    总结来说,"ueditor上传图片jsp方式"项目是一个学习ueditor集成与图片上传功能的实例,涵盖了前端ueditor编辑器的使用,后端JSP处理图片上传请求,以及相关的安全性和配置知识。通过这个项目,开发者可以深入理解...

    jsp开发ueditor smartUpload上传文件测试样例

    ueditor是一款流行的富文本编辑器,它提供了强大的编辑功能,包括图片、视频、文件等上传。在这个“jsp开发ueditor smartUpload上传文件测试样例”中,我们将探讨如何在JSP中集成ueditor,并解决在上传文件时可能...

    修改百度的UEditor,实现图片上传到项目外的路径

    以上就是关于修改UEditor配置,使其支持复制图片原链接以及上传图片到非项目路径的方法。这个功能对于那些需要与第三方存储服务集成或希望在不同环境中管理资源的应用来说尤其有用。在实际应用中,你可能还需要考虑...

    Spring+Vue整合UEditor富文本实现图片附件上传的方法

    Spring+Vue整合UEditor富文本实现图片附件上传的方法 ...Spring+Vue整合UEditor富文本实现图片附件上传的方法需要正确集成UEditor、配置config.json、上传服务器配置和UploadUtil工具类等关键技术点。

    百度ueditor支持本地与FTP上传图片

    在Java环境中,这个JAR文件可能被用来集成UEditor到Web应用中,提供服务器端对UEditor上传图片等操作的支持。 **备注.txt** `备注.txt`文件通常用于存放开发者或维护者对项目的一些说明或注意事项。在这个上下文中...

Global site tag (gtag.js) - Google Analytics