kindeditor图片上传 jsp版
2011-08-22 15:06
267 查看
经过了那么长时间的搜索,看了好多有关kindeditor图片上传的东西,各种方法也试过了,但总是报服务器发生障碍,今天终于解决了!!!拿出来给大家分享!!!
首先在官网下载kindeditor压缩包,(我这里用的是kindeditor-3-5-5-zh-CN.zip),解压开,把jsp、plugins、skins、kindeditor.js 、kindedditor-min.js放进自己的项目中(我是放在webroot下面新建的文件夹kindeditor下面的),其他的可以不放。
然后修改image.html,把原来的(php版)改为 var imageUploadJson = (typeof KE.g[id].imageUploadJson == 'undefined') ? '../../jsp/upload_json.jsp': KE.g[id].imageUploadJson; 接着把原来的upload_json.jsp改为如下所示:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper"%>
<%@page import="java.util.concurrent.locks.*"%><%@page import="java.io.*"%>
<%@ page import="org.json.simple.*"%>
<%
//Struts2 请求 包装过滤器
MultiPartRequestWrapper wrapper=(MultiPartRequestWrapper)request;
//获得上传的文件名
String fileName = wrapper.getFileNames("imgFile")[0];
//获得未见过滤器
File file = wrapper.getFiles("imgFile")[0];
//----------从新构建上传文件名---------
final Lock lock = new ReentrantLock();String newName = null;lock.lock();
try{
//加锁为防止文件名频频
newName = System.currentTimeMillis() +fileName.substring(fileName.lastIndexOf("."), fileName.length());}finally{lock.unlock();}
//获取文件输出流
FileOutputStream fos = new FileOutputStream(request.getSession().getServletContext().getRealPath("/")+"attached/" + newName);//设置 KE 中的图片文件地址
String newFileName = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ request.getContextPath() + "/attached/" + newName;byte[] buffer = new byte[1024];//获取内存中当前文件输入流
InputStream in = new FileInputStream(file);try{int num = 0;while((num = in.read(buffer)) > 0){fos.write(buffer,0,num);}}catch(Exception e){e.printStackTrace(System.err);}finally{in.close();fos.close();}//发送给 KE
JSONObject obj = new JSONObject();
obj.put("error", 0);
obj.put("url", newFileName);
out.println(obj.toJSONString());
%>
其中attached为图片保存的路径,我的位于webroot下面。
再在使用kindeditor编辑器的页面中加入以下代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("UTF-8");
String htmlData = request.getParameter("addtg") != null ? request.getParameter("addtg") : "";
%>
<script type="text/javascript">
KE.show({
id : 'tg',//TEXTAREA输入框的ID
imageUploadJson : '../../jsp/upload_json.jsp', //注意路径别写错!!
fileManagerJson : '../../jsp/file_manager_json.jsp',
allowFileManager : true,
allowUpload : true, //允许上传图片
afterCreate : function(id) {
KE.event.ctrl(document, 13, function() {
KE.util.setData(id);
document.forms['example'].submit();
});
KE.event.ctrl(KE.g[id].iframeDoc, 13, function() {
KE.util.setData(id);
document.forms['example'].submit();
});
}
});
</script>
<textarea id="tg" name="tg" style="width:550px;height:200px;visibility:hidden;"></textarea>
<input type="button" class="button_01" value="保 存" onclick="updateSubmit();">
如此,就可以实现图片上传了!!!希望对大家有用!!同时也作为自己的经验收藏!(*^__^*) 嘻嘻……
首先在官网下载kindeditor压缩包,(我这里用的是kindeditor-3-5-5-zh-CN.zip),解压开,把jsp、plugins、skins、kindeditor.js 、kindedditor-min.js放进自己的项目中(我是放在webroot下面新建的文件夹kindeditor下面的),其他的可以不放。
然后修改image.html,把原来的(php版)改为 var imageUploadJson = (typeof KE.g[id].imageUploadJson == 'undefined') ? '../../jsp/upload_json.jsp': KE.g[id].imageUploadJson; 接着把原来的upload_json.jsp改为如下所示:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper"%>
<%@page import="java.util.concurrent.locks.*"%><%@page import="java.io.*"%>
<%@ page import="org.json.simple.*"%>
<%
//Struts2 请求 包装过滤器
MultiPartRequestWrapper wrapper=(MultiPartRequestWrapper)request;
//获得上传的文件名
String fileName = wrapper.getFileNames("imgFile")[0];
//获得未见过滤器
File file = wrapper.getFiles("imgFile")[0];
//----------从新构建上传文件名---------
final Lock lock = new ReentrantLock();String newName = null;lock.lock();
try{
//加锁为防止文件名频频
newName = System.currentTimeMillis() +fileName.substring(fileName.lastIndexOf("."), fileName.length());}finally{lock.unlock();}
//获取文件输出流
FileOutputStream fos = new FileOutputStream(request.getSession().getServletContext().getRealPath("/")+"attached/" + newName);//设置 KE 中的图片文件地址
String newFileName = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ request.getContextPath() + "/attached/" + newName;byte[] buffer = new byte[1024];//获取内存中当前文件输入流
InputStream in = new FileInputStream(file);try{int num = 0;while((num = in.read(buffer)) > 0){fos.write(buffer,0,num);}}catch(Exception e){e.printStackTrace(System.err);}finally{in.close();fos.close();}//发送给 KE
JSONObject obj = new JSONObject();
obj.put("error", 0);
obj.put("url", newFileName);
out.println(obj.toJSONString());
%>
其中attached为图片保存的路径,我的位于webroot下面。
再在使用kindeditor编辑器的页面中加入以下代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("UTF-8");
String htmlData = request.getParameter("addtg") != null ? request.getParameter("addtg") : "";
%>
<script type="text/javascript">
KE.show({
id : 'tg',//TEXTAREA输入框的ID
imageUploadJson : '../../jsp/upload_json.jsp', //注意路径别写错!!
fileManagerJson : '../../jsp/file_manager_json.jsp',
allowFileManager : true,
allowUpload : true, //允许上传图片
afterCreate : function(id) {
KE.event.ctrl(document, 13, function() {
KE.util.setData(id);
document.forms['example'].submit();
});
KE.event.ctrl(KE.g[id].iframeDoc, 13, function() {
KE.util.setData(id);
document.forms['example'].submit();
});
}
});
</script>
<textarea id="tg" name="tg" style="width:550px;height:200px;visibility:hidden;"></textarea>
<input type="button" class="button_01" value="保 存" onclick="updateSubmit();">
如此,就可以实现图片上传了!!!希望对大家有用!!同时也作为自己的经验收藏!(*^__^*) 嘻嘻……
相关文章推荐
- KindEditor的上传图片CGI(JSP版)
- KindEditor + Jsp 使用总结之KindEditor4.1.10编辑器图片上传(2)
- KIndEditor的JSP文件、图片上传的实现
- Kindeditor(jsp)与SSH三大框架整合上传图片出错问 3ff8 题解决方案
- 关于kindeditor编辑器在jsp中把图片上传路径改为绝对路径
- kindeditor 修改jsp中的图片上传功能
- kindeditor 在jsp中,无法上传本地图片的解决
- KindEditor4 struts2 jsp 本地图片或文件上传
- kindeditor(一)实现图片上传jsp实现
- 关于对KindEditor官网demo的上传本地图片upload_json.jsp的改进
- kindeditor(一)实现图片上传jsp实现
- Kindeditor(jsp)与SSH三大框架整合上传图片出错问题解决方案
- jsp显示本地图片---用户上传显示预览
- jsp+servlet实现上传图片
- 解决KindEditor图片上传对话框位置异常问题(浏览器放大缩小时对话框不见了)
- 在JSP中使用ckeditor以及使用SpringMVC实现图片上传
- 基于HTML5和JSP实现的图片Ajax上传和预览
- jsp页面通过ajax上传多张图片
- java kindeditor 上传图片问题