- 浏览: 1756939 次
- 性别:
- 来自: 大连
博客专栏
-
Spring数据库访问系列...
浏览量:173661
-
Android学习笔记
浏览量:368129
-
iBatis开发详解
浏览量:189265
-
Objective-C学习...
浏览量:99838
最新评论
-
iLidy:
引用[/c
Hibernate持久化对象的生命周期详解 -
fengzigogo:
您好,有这个项目架构的源码下载地址吗?
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一 -
spring_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
用Maven构建Java Web开发环境(Jetty容器)之二 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring 3之MVC & Security简单整合开发(二) -
赵庆辉:
看帖回复是美德,楼主讲的很清晰明了,看了豁然开朗.
Java String对象的经典问题(new String())
本文在http://sarin.iteye.com/blog/599056介绍的基础之上进行进一步的研究。
在CKEditor中把上传配置给打开,很简单,脚本段改为如下设置:
这里参数我们可以自己设置,加个Type为了区分文件类型,因为都使用同一个Servlet处理。事情没有这么简单,CKEditor毕竟是个复杂的组件,我们这么配置,看看它给我们还原成什么了吧,在FireFox中使用FireBug查看,看到了这些:
看到了吧,在Type后面它为我们又挂接了几个参数,其中我们需要的是CKEditorFuncNum和file域的name值upload,CKEditorFuncNum这个参数是用来回调页面的,就是上传成功后,页面自动切换到“图像”选项卡。upload参数是servlet获取上传文件用的参数名。其余参数就根据需要进行了。
这些参数的名称都是查看源码获得的,不能想当然。有了这些东西后面就好办了,就是文件上传了么。很简单了。这里我们使用apache commons组件中的fileupload和io。
先看web.xml,我们做些设置。
主要是Servlet的初始化参数,规定了文件上传的扩展名规则,就是允许上传的类型和阻止上传的类型。分为File,Image和FLASH三种,这个上传参数的设置是对应的。Debug是设置servlet知否进行debug,默认是关闭的。enabled是设置该servlet是否有效,如果禁止上传,就打成false。还有一个baseDir是设定CKEditor上传文件的存放位置。
下面就是实现类了,比较长,但是有详细的注释:
只要在页面中的script中设置了上传属性,我们打开图片时就能看到上传选项卡了,选择图片后,点击上传到服务器,上传成功就会自动跳到图像选项卡,可以看到源文件已经存在服务器的目标目录中了,此时,我们就可以在编辑器中编辑上传的图片了,非常方便。
下面我们进行图片上传测试,可以看到如下效果。
提交后可以看到,数据获得效果,是完全一致的,这样使用CKEditor上传文件就已经成功了。
我们查看源文件,得到如下结果。
在服务器目录中,上传的文件已经存在其中了。
欢迎交流,希望对使用者有用。附件中新增本项目的源码下载。
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
谢谢,懂了,再问一下问题!嘿嘿,不好意思,我用struts的action处理,代码逻辑基本跟你一致,最后倒在:
List items = upload.parseRequest(request);
System.out.println("items的长度="+items.size());
输出的items的长度为0!我觉得应该是这个reque解析不成功,我配置的是所有后缀为.action的经过struts处理:
filebrowserUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=File',
filebrowserImageUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Image',
filebrowserFlashUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Flash'
我没找到是哪个地方出了问题!!
还有咱在“上传”标签点击上传到服务器的时候最后是输出out.print的js脚本了,是什么原因令它能够自动跳转到“图像”标签而且在源文件栏填写了文件的地址,这个代码在哪里看,我还没找着??麻烦你了
不要使用绝对路径写URL,变量有问题请断点跟踪。查看页面脚本可以使用火狐的Firebug插件或者Chrome自带插件。
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
谢谢,懂了,再问一下问题!嘿嘿,不好意思,我用struts的action处理,代码逻辑基本跟你一致,最后倒在:
List items = upload.parseRequest(request);
System.out.println("items的长度="+items.size());
输出的items的长度为0!我觉得应该是这个reque解析不成功,我配置的是所有后缀为.action的经过struts处理:
filebrowserUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=File',
filebrowserImageUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Image',
filebrowserFlashUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Flash'
我没找到是哪个地方出了问题!!
还有咱在“上传”标签点击上传到服务器的时候最后是输出out.print的js脚本了,是什么原因令它能够自动跳转到“图像”标签而且在源文件栏填写了文件的地址,这个代码在哪里看,我还没找着??麻烦你了
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
额,flv的后缀是不是flv/x-flv??在网上查了半天没有,我没有改你的代码,只是将一些目录改了下!!出来的效果会是什么样的呢?我自己开发的论坛还没有使用播放器的插件,应该是显示不出来视频的框架的吧!自己一个人写的论坛在这一步耽搁了两天了,希望楼主指教,谢谢你了!!
这里只是一个文件上传功能,不涉及其它任何旁支技术。不用把它想的太复杂。图片和媒体文件都是文件,只要保证文件路径对,重命名对,不是被阻挡的文件类型即可
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
额,flv的后缀是不是flv/x-flv??在网上查了半天没有,我没有改你的代码,只是将一些目录改了下!!出来的效果会是什么样的呢?我自己开发的论坛还没有使用播放器的插件,应该是显示不出来视频的框架的吧!自己一个人写的论坛在这一步耽搁了两天了,希望楼主指教,谢谢你了!!
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
名称是可以自定义的,这是什么问题吗?把重命名的路径改成你期望的就可以了。
这只是一个servlet的访问路径
这个路径的访问,要在web.xml中进行配置,引用ckeditor时也要注意路径是否正确
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
那是不是就要将图片的存储路径先保存下来?在你的程序中,哪个是图片的最终存储路径呢?谢谢
请参考以前的回复或者自行设置断点推敲程序,谢谢
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
那是不是就要将图片的存储路径先保存下来?在你的程序中,哪个是图片的最终存储路径呢?谢谢
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
修改一下程序逻辑,先保存文本内容,然后可以获取到数据库生成的主键ID,然后和图片相关联即可。
在CKEditor中把上传配置给打开,很简单,脚本段改为如下设置:
<script type="text/javascript"> CKEDITOR.replace('content',{filebrowserUploadUrl : '/ckeditor/ckeditor/uploader?Type=File', filebrowserImageUploadUrl : '/ckeditor/ckeditor/uploader?Type=Image', filebrowserFlashUploadUrl : '/ckeditor/ckeditor/uploader?Type=Flash' }); </script>
这里参数我们可以自己设置,加个Type为了区分文件类型,因为都使用同一个Servlet处理。事情没有这么简单,CKEditor毕竟是个复杂的组件,我们这么配置,看看它给我们还原成什么了吧,在FireFox中使用FireBug查看,看到了这些:
看到了吧,在Type后面它为我们又挂接了几个参数,其中我们需要的是CKEditorFuncNum和file域的name值upload,CKEditorFuncNum这个参数是用来回调页面的,就是上传成功后,页面自动切换到“图像”选项卡。upload参数是servlet获取上传文件用的参数名。其余参数就根据需要进行了。
这些参数的名称都是查看源码获得的,不能想当然。有了这些东西后面就好办了,就是文件上传了么。很简单了。这里我们使用apache commons组件中的fileupload和io。
先看web.xml,我们做些设置。
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>SimpleUploader</servlet-name> <servlet-class>ckeditor.CKEditorUploadServlet</servlet-class> <init-param> <param-name>baseDir</param-name> <param-value>/UserFiles/</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>enabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>AllowedExtensionsFile</param-name> <param-value></param-value> </init-param> <init-param> <param-name>DeniedExtensionsFile</param-name> <param-value> html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|ftl </param-value> </init-param> <init-param> <param-name>AllowedExtensionsImage</param-name> <param-value>jpg|gif|jpeg|png|bmp</param-value> </init-param> <init-param> <param-name>DeniedExtensionsImage</param-name> <param-value></param-value> </init-param> <init-param> <param-name>AllowedExtensionsFlash</param-name> <param-value>swf|fla</param-value> </init-param> <init-param> <param-name>DeniedExtensionsFlash</param-name> <param-value></param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SimpleUploader</servlet-name> <url-pattern>/ckeditor/uploader</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
主要是Servlet的初始化参数,规定了文件上传的扩展名规则,就是允许上传的类型和阻止上传的类型。分为File,Image和FLASH三种,这个上传参数的设置是对应的。Debug是设置servlet知否进行debug,默认是关闭的。enabled是设置该servlet是否有效,如果禁止上传,就打成false。还有一个baseDir是设定CKEditor上传文件的存放位置。
下面就是实现类了,比较长,但是有详细的注释:
package ckeditor; import java.io.*; import java.text.SimpleDateFormat; import java.util.*; import javax.servlet.ServletException; import javax.servlet.http.*; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class CKEditorUploadServlet extends HttpServlet { private static String baseDir;// CKEditor的根目录 private static boolean debug = false;// 是否debug模式 private static boolean enabled = false;// 是否开启CKEditor上传 private static Hashtable allowedExtensions;// 允许的上传文件扩展名 private static Hashtable deniedExtensions;// 阻止的上传文件扩展名 private static SimpleDateFormat dirFormatter;// 目录命名格式:yyyyMM private static SimpleDateFormat fileFormatter;// 文件命名格式:yyyyMMddHHmmssSSS /** * Servlet初始化方法 */ public void init() throws ServletException { // 从web.xml中读取debug模式 debug = (new Boolean(getInitParameter("debug"))).booleanValue(); if (debug) System.out .println("\r\n---- SimpleUploaderServlet initialization started ----"); // 格式化目录和文件命名方式 dirFormatter = new SimpleDateFormat("yyyyMM"); fileFormatter = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // 从web.xml中获取根目录名称 baseDir = getInitParameter("baseDir"); // 从web.xml中获取是否可以进行文件上传 enabled = (new Boolean(getInitParameter("enabled"))).booleanValue(); if (baseDir == null) baseDir = "/UserFiles/"; String realBaseDir = getServletContext().getRealPath(baseDir); File baseFile = new File(realBaseDir); if (!baseFile.exists()) { baseFile.mkdirs(); } // 实例化允许的扩展名和阻止的扩展名 allowedExtensions = new Hashtable(3); deniedExtensions = new Hashtable(3); // 从web.xml中读取配置信息 allowedExtensions.put("File", stringToArrayList(getInitParameter("AllowedExtensionsFile"))); deniedExtensions.put("File", stringToArrayList(getInitParameter("DeniedExtensionsFile"))); allowedExtensions.put("Image", stringToArrayList(getInitParameter("AllowedExtensionsImage"))); deniedExtensions.put("Image", stringToArrayList(getInitParameter("DeniedExtensionsImage"))); allowedExtensions.put("Flash", stringToArrayList(getInitParameter("AllowedExtensionsFlash"))); deniedExtensions.put("Flash", stringToArrayList(getInitParameter("DeniedExtensionsFlash"))); if (debug) System.out .println("---- SimpleUploaderServlet initialization completed ----\r\n"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (debug) System.out.println("--- BEGIN DOPOST ---"); response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); // 从请求参数中获取上传文件的类型:File/Image/Flash String typeStr = request.getParameter("Type"); if (typeStr == null) { typeStr = "File"; } if (debug) System.out.println(typeStr); // 实例化dNow对象,获取当前时间 Date dNow = new Date(); // 设定上传文件路径 String currentPath = baseDir + typeStr + "/" + dirFormatter.format(dNow); // 获得web应用的上传路径 String currentDirPath = getServletContext().getRealPath(currentPath); // 判断文件夹是否存在,不存在则创建 File dirTest = new File(currentDirPath); if (!dirTest.exists()) { dirTest.mkdirs(); } // 将路径前加上web应用名 currentPath = request.getContextPath() + currentPath; if (debug) System.out.println(currentDirPath); // 文件名和文件真实路径 String newName = ""; String fileUrl = ""; if (enabled) { // 使用Apache Common组件中的fileupload进行文件上传 FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List items = upload.parseRequest(request); Map fields = new HashMap(); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) fields.put(item.getFieldName(), item.getString()); else fields.put(item.getFieldName(), item); } // CEKditor中file域的name值是upload FileItem uplFile = (FileItem) fields.get("upload"); // 获取文件名并做处理 String fileNameLong = uplFile.getName(); fileNameLong = fileNameLong.replace('\\', '/'); String[] pathParts = fileNameLong.split("/"); String fileName = pathParts[pathParts.length - 1]; // 获取文件扩展名 String ext = getExtension(fileName); // 设置上传文件名 fileName = fileFormatter.format(dNow) + "." + ext; // 获取文件名(无扩展名) String nameWithoutExt = getNameWithoutExtension(fileName); File pathToSave = new File(currentDirPath, fileName); fileUrl = currentPath + "/" + fileName; if (extIsAllowed(typeStr, ext)) { int counter = 1; while (pathToSave.exists()) { newName = nameWithoutExt + "_" + counter + "." + ext; fileUrl = currentPath + "/" + newName; pathToSave = new File(currentDirPath, newName); counter++; } uplFile.write(pathToSave); } else { if (debug) System.out.println("无效的文件类型: " + ext); } } catch (Exception ex) { if (debug) ex.printStackTrace(); } } else { if (debug) System.out.println("未开启CKEditor上传功能"); } // CKEditorFuncNum是回调时显示的位置,这个参数必须有 String callback = request.getParameter("CKEditorFuncNum"); out.println("<script type=\"text/javascript\">"); out.println("window.parent.CKEDITOR.tools.callFunction(" + callback + ",'" + fileUrl + "',''" + ")"); out.println("</script>"); out.flush(); out.close(); if (debug) System.out.println("--- END DOPOST ---"); } /** * 获取文件名的方法 */ private static String getNameWithoutExtension(String fileName) { return fileName.substring(0, fileName.lastIndexOf(".")); } /** * 获取扩展名的方法 */ private String getExtension(String fileName) { return fileName.substring(fileName.lastIndexOf(".") + 1); } /** * 字符串像ArrayList转化的方法 */ private ArrayList stringToArrayList(String str) { if (debug) System.out.println(str); String[] strArr = str.split("\\|"); ArrayList tmp = new ArrayList(); if (str.length() > 0) { for (int i = 0; i < strArr.length; ++i) { if (debug) System.out.println(i + " - " + strArr[i]); tmp.add(strArr[i].toLowerCase()); } } return tmp; } /** * 判断扩展名是否允许的方法 */ private boolean extIsAllowed(String fileType, String ext) { ext = ext.toLowerCase(); ArrayList allowList = (ArrayList) allowedExtensions.get(fileType); ArrayList denyList = (ArrayList) deniedExtensions.get(fileType); if (allowList.size() == 0) { if (denyList.contains(ext)) { return false; } else { return true; } } if (denyList.size() == 0) { if (allowList.contains(ext)) { return true; } else { return false; } } return false; } }
只要在页面中的script中设置了上传属性,我们打开图片时就能看到上传选项卡了,选择图片后,点击上传到服务器,上传成功就会自动跳到图像选项卡,可以看到源文件已经存在服务器的目标目录中了,此时,我们就可以在编辑器中编辑上传的图片了,非常方便。
下面我们进行图片上传测试,可以看到如下效果。
提交后可以看到,数据获得效果,是完全一致的,这样使用CKEditor上传文件就已经成功了。
我们查看源文件,得到如下结果。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Display Content</title> </head> <body> <center> <table width="600" border="0" bordercolor="000000" style="table-layout: fixed;"> <tbody> <tr> <td width="100" bordercolor="ffffff">主题:</td> <td width="500" bordercolor="ffffff">图片上传测试</td> </tr> <tr> <td valign="top" bordercolor="ffffff">内容:</td> <td valign="top" bordercolor="ffffff"> <p style="text-align: center;"><span style="color: #f00;"><strong><span style="font-family: courier new, courier, monospace;"><span style="font-size: 48px;">图片上传测试</span></span></strong></span></p> <p style="text-align: center;"><img alt="" src="/ckeditor/UserFiles/Image/201002/20100217232748000.gif" style="width: 133px; height: 41px;"></p> <p style="text-align: center;"><span style="font-family: courier new, courier, monospace;"><br> </span></p> </td> </tr> </tbody> </table> </center> </body> </html>
在服务器目录中,上传的文件已经存在其中了。
欢迎交流,希望对使用者有用。附件中新增本项目的源码下载。
- CKEditor.rar (560.8 KB)
- 下载次数: 2346
评论
73 楼
sarin
2013-06-23
huanglei_jay 写道
sarin 写道
huanglei_jay 写道
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
谢谢,懂了,再问一下问题!嘿嘿,不好意思,我用struts的action处理,代码逻辑基本跟你一致,最后倒在:
List items = upload.parseRequest(request);
System.out.println("items的长度="+items.size());
输出的items的长度为0!我觉得应该是这个reque解析不成功,我配置的是所有后缀为.action的经过struts处理:
filebrowserUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=File',
filebrowserImageUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Image',
filebrowserFlashUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Flash'
我没找到是哪个地方出了问题!!
还有咱在“上传”标签点击上传到服务器的时候最后是输出out.print的js脚本了,是什么原因令它能够自动跳转到“图像”标签而且在源文件栏填写了文件的地址,这个代码在哪里看,我还没找着??麻烦你了
不要使用绝对路径写URL,变量有问题请断点跟踪。查看页面脚本可以使用火狐的Firebug插件或者Chrome自带插件。
72 楼
huanglei_jay
2013-06-23
sarin 写道
huanglei_jay 写道
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
谢谢,懂了,再问一下问题!嘿嘿,不好意思,我用struts的action处理,代码逻辑基本跟你一致,最后倒在:
List items = upload.parseRequest(request);
System.out.println("items的长度="+items.size());
输出的items的长度为0!我觉得应该是这个reque解析不成功,我配置的是所有后缀为.action的经过struts处理:
filebrowserUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=File',
filebrowserImageUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Image',
filebrowserFlashUploadUrl : 'http://localhost:8080/MyNet/fileUpLoadAction.action?Type=Flash'
我没找到是哪个地方出了问题!!
还有咱在“上传”标签点击上传到服务器的时候最后是输出out.print的js脚本了,是什么原因令它能够自动跳转到“图像”标签而且在源文件栏填写了文件的地址,这个代码在哪里看,我还没找着??麻烦你了
71 楼
sarin
2013-06-22
huanglei_jay 写道
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
向响应输出流中写入一段JavaScript代码,用于页面执行JS回调函数
70 楼
huanglei_jay
2013-06-22
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
楼主,请问你,在display.jsp中${param.title}这个参数是在哪里传进来的,在是index。html是吧!嗯,我渐渐懂了,这个cke基本上就不用改什么,而实现文件的上传,也只是对文件的重命名和文件存放路径的实现,而cke这这个插件在选择文件再点击上传,到底为我们做了些什么东西????是给返回了上传文件的路径吗??因为你这个代码
String callback = request.getParameter("CKEditorFuncNum");
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback
+ ",'" + fileUrl + "',''" + ")");
out.println("</script>");
out.flush();
out.close();
的意义我不是很懂!!求解,谢谢你!
69 楼
sarin
2013-06-20
huanglei_jay 写道
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
额,flv的后缀是不是flv/x-flv??在网上查了半天没有,我没有改你的代码,只是将一些目录改了下!!出来的效果会是什么样的呢?我自己开发的论坛还没有使用播放器的插件,应该是显示不出来视频的框架的吧!自己一个人写的论坛在这一步耽搁了两天了,希望楼主指教,谢谢你了!!
这里只是一个文件上传功能,不涉及其它任何旁支技术。不用把它想的太复杂。图片和媒体文件都是文件,只要保证文件路径对,重命名对,不是被阻挡的文件类型即可
68 楼
huanglei_jay
2013-06-19
sarin 写道
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
额,flv的后缀是不是flv/x-flv??在网上查了半天没有,我没有改你的代码,只是将一些目录改了下!!出来的效果会是什么样的呢?我自己开发的论坛还没有使用播放器的插件,应该是显示不出来视频的框架的吧!自己一个人写的论坛在这一步耽搁了两天了,希望楼主指教,谢谢你了!!
67 楼
sarin
2013-06-19
huanglei_jay 写道
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
你可以修改一下XML文件,将flv后缀加入到allowed里面试试看,从你的代码中来看,上传应该是成功的。/CKE/UserFiles/Flash/201306/20130619165117734.flv这不是已经上传了吗?如果文件没有正确保存,要看你的代码中是不是最后又当作临时文件删掉了
66 楼
huanglei_jay
2013-06-19
楼主这个视频的功能是不是没实现呢?为什么点击视频上传后再对应的文件夹中没有出现文件,也没有出现任何的错误:跳转的页面源码为:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="/CKE/UserFiles/Flash/201306/20130619165117734.flv" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/CKE/UserFiles/Flash/201306/20130619165117734.flv" type="application/x-shockwave-flash"></embed></object><img alt="" src="/CKE/UserFiles/Image/201306/20130619164701937.jpg" style="width: 1024px; height: 768px" /></p>
</td>
65 楼
sarin
2013-06-10
hesanj 写道
这几天才搞完这个CKeditor的上传,也说几句,其实上传的功能还是挺容易的。这个CKeditor上传后的问题有两个:
1,上传文件附件,会显示一长串的文件在服务器上的路径地址,比编程这样<a href="/upload/date/220130506/21_09_33.doc">/upload/date/220130506/21_09_33.doc</a>;而不是a href="/upload/date/220130506/21_09_33.doc">21_09_33.doc</a>;让用户看着眼晕,不能显示中文就罢了。这样确实有点太难看了。
2. 前面有人评价的时候已经提到了,如果是从word或者excel粘贴过来的表格,格式会乱掉。
其他的方面倒是都很好,没啥问题。
上述问题谁解决了,也发文说一下怎么解决的。多谢
1,上传文件附件,会显示一长串的文件在服务器上的路径地址,比编程这样<a href="/upload/date/220130506/21_09_33.doc">/upload/date/220130506/21_09_33.doc</a>;而不是a href="/upload/date/220130506/21_09_33.doc">21_09_33.doc</a>;让用户看着眼晕,不能显示中文就罢了。这样确实有点太难看了。
2. 前面有人评价的时候已经提到了,如果是从word或者excel粘贴过来的表格,格式会乱掉。
其他的方面倒是都很好,没啥问题。
上述问题谁解决了,也发文说一下怎么解决的。多谢
名称是可以自定义的,这是什么问题吗?把重命名的路径改成你期望的就可以了。
64 楼
hesanj
2013-06-08
这几天才搞完这个CKeditor的上传,也说几句,其实上传的功能还是挺容易的。这个CKeditor上传后的问题有两个:
1,上传文件附件,会显示一长串的文件在服务器上的路径地址,比编程这样<a href="/upload/date/220130506/21_09_33.doc">/upload/date/220130506/21_09_33.doc</a>;而不是a href="/upload/date/220130506/21_09_33.doc">21_09_33.doc</a>;让用户看着眼晕,不能显示中文就罢了。这样确实有点太难看了。
2. 前面有人评价的时候已经提到了,如果是从word或者excel粘贴过来的表格,格式会乱掉。
其他的方面倒是都很好,没啥问题。
上述问题谁解决了,也发文说一下怎么解决的。多谢
1,上传文件附件,会显示一长串的文件在服务器上的路径地址,比编程这样<a href="/upload/date/220130506/21_09_33.doc">/upload/date/220130506/21_09_33.doc</a>;而不是a href="/upload/date/220130506/21_09_33.doc">21_09_33.doc</a>;让用户看着眼晕,不能显示中文就罢了。这样确实有点太难看了。
2. 前面有人评价的时候已经提到了,如果是从word或者excel粘贴过来的表格,格式会乱掉。
其他的方面倒是都很好,没啥问题。
上述问题谁解决了,也发文说一下怎么解决的。多谢
63 楼
sarin
2013-03-28
lxc563689119 写道
但是直接访问 /ckeditor/ckeditor/uploader 时,就没有出现错误!了 不知道为什么!
请指点一下!谢谢!
请指点一下!谢谢!
这只是一个servlet的访问路径
62 楼
gwgyk
2013-03-28
lxc563689119 写道
但是直接访问 /ckeditor/ckeditor/uploader 时,就没有出现错误!了 不知道为什么!
请指点一下!谢谢!
请指点一下!谢谢!
这个路径的访问,要在web.xml中进行配置,引用ckeditor时也要注意路径是否正确
61 楼
lxc563689119
2013-03-28
但是直接访问 /ckeditor/ckeditor/uploader 时,就没有出现错误!了 不知道为什么!
请指点一下!谢谢!
请指点一下!谢谢!
60 楼
lxc563689119
2013-03-28
[b][b]为什么我把包下下来!上传文件时显示没有找上传路径啊!
这是报的错!
HTTP Status 404 - /ckeditor/ckeditor/uploader
type Status report
message /ckeditor/ckeditor/uploader
description The requested resource (/ckeditor/ckeditor/uploader) is not available.
Apache Tomcat/6.0.35
[/b][/b]
这是报的错!
HTTP Status 404 - /ckeditor/ckeditor/uploader
type Status report
message /ckeditor/ckeditor/uploader
description The requested resource (/ckeditor/ckeditor/uploader) is not available.
Apache Tomcat/6.0.35
[/b][/b]
59 楼
sarin
2013-03-27
gwgyk 写道
sarin 写道
gwgyk 写道
但过程是边输入文本,边插入图片。图片混在文本中啊?这怎么办呢?在实际开发中是怎么做的呢?谢谢
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
那是不是就要将图片的存储路径先保存下来?在你的程序中,哪个是图片的最终存储路径呢?谢谢
请参考以前的回复或者自行设置断点推敲程序,谢谢
58 楼
gwgyk
2013-03-26
sarin 写道
gwgyk 写道
但过程是边输入文本,边插入图片。图片混在文本中啊?这怎么办呢?在实际开发中是怎么做的呢?谢谢
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
那是不是就要将图片的存储路径先保存下来?在你的程序中,哪个是图片的最终存储路径呢?谢谢
57 楼
sarin
2013-03-26
gwgyk 写道
但过程是边输入文本,边插入图片。图片混在文本中啊?这怎么办呢?在实际开发中是怎么做的呢?谢谢
可以使用临时表暂存图片和用户信息,待文本提交后再做关联逻辑。
56 楼
gwgyk
2013-03-25
但过程是边输入文本,边插入图片。图片混在文本中啊?这怎么办呢?在实际开发中是怎么做的呢?谢谢
55 楼
sarin
2013-03-25
gwgyk 写道
还有个问题,我想给图片单独做张表,用来存储图片路径,但是在上传完图片以后,velocity中新闻还没有保存,自然也就没有id了,那么这个图片和新闻怎么对应起来呢?(我用的是spring + hibernate)
修改一下程序逻辑,先保存文本内容,然后可以获取到数据库生成的主键ID,然后和图片相关联即可。
54 楼
gwgyk
2013-03-25
大神,求回复
发表评论
-
Spring数据库访问之iBatis(二)
2012-06-10 13:56 5792接上文,我们继续来研究Spring和iBatis的整合 ... -
HTML5/CSS3翻转动画(二)
2011-12-31 11:28 9585上一篇我们制作了两行文字的翻转效果,他们是同步进行的, ... -
用dTree组件生成无限级导航树
2010-08-14 09:50 7070在做管理系统时不可避免要用到导航树,这种东西只要一次做 ... -
jQuery插件Jeditable的使用(Struts2处理)
2010-03-05 00:48 5992Jeditable - Edit In Plac ... -
CKEditor 3安装和使用
2010-02-20 15:20 18612FCKEditor是一款优秀 ... -
用户注册时身份证号码的验证
2010-02-18 15:21 5359我们在制作在线注册时难免用到身份证号码这个属性,为了避 ... -
Struts2在FreeMarker中国际化的配置
2010-02-02 23:27 4260在Struts2中使用FreeM ... -
基于Struts2的SingleEdit插件的使用。
2009-12-17 21:50 1912前些日子看到网友wb ... -
增强型表格/报表-jqGrid使用浅析
2009-11-25 19:33 11609jqGrid是一个基于Jquery的表格插件,官网地址 ... -
在Struts2中使用Uploadify组件上传文件
2009-10-14 20:45 18915Uploadify是一个基于Jquery的文件上传组件 ...
相关推荐
3. **集成CKFinder**:在CKEditor的配置中,设置`filebrowserBrowseUrl`和`filebrowserUploadUrl`属性,指向CKFinder的URL,以启用文件浏览和上传功能。这样,当用户点击CKEditor中的"插入图像"或"插入链接"按钮时,...
配置文件`config.xml`是CKFinder的核心设置,用于定义文件上传路径、权限、大小限制等。例如: ```xml <!-- 将baseURL中的fckeditor替换为你的工程名 --> <baseURL>/fckeditor/userfiles/ <!-- maxSize=0 表示上传...
- 修改 **config.xml** 文件中的 `<enabled>` 标签为 `<enabled>true</enabled>` 以开启文件上传功能。 - 修改 `<baseURL>` 标签以指定文件的上传路径。 #### 三、配置web.xml 接下来需要在项目的 **web.xml** ...
对于图片上传,CKEditor提供了一个内置的文件上传插件,但默认不开启。需要配置`filebrowserBrowseUrl`、`filebrowserUploadUrl`等相关选项,或者使用CKFinder等文件管理器进行集成。 7. **与后端交互**: 当用户...
5. **HTML5拖放上传**:背景文件上传功能,支持HTML5拖放。 6. **列表和图标视图**:用户可以选择以列表或图标形式查看文件。 7. **键盘快捷键**:提高操作效率。 8. **选择文件/组的方法**:鼠标或键盘的标准选择...
5. **处理文件上传**:如果需要支持文件上传,需要创建一个Java Servlet来处理FCKeditor的POST请求。FCKeditor会将文件内容作为POST请求的一部分发送到服务器。 6. **测试与调试**:最后,运行你的Web应用,测试...
6. **处理文件上传**:FCKeditor支持文件上传功能,需要在服务器端编写处理文件上传的代码,通常使用Servlet或Struts Action来接收上传的文件并保存到服务器。 7. **安全考虑**:在实际应用中,必须注意FCKeditor的...
3. **配置web.xml**:打开FCKeditor-2.3/web/WEB-INF/web.xml文件,找到两个`servlet`和`servlet-mapping`的定义。将这两个配置复制到你的项目中的web.xml文件,但需要修改`url-pattern`,将原来的路径改为与你的...
- **上传设置**:如果涉及文件上传功能,要检查`config.json`或`ewebeditor.config.js`中的上传路径和URL设置,确保服务器可以访问并处理上传请求。 2. **浏览器兼容性**: - EWebEditor主要基于IE浏览器开发,...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...
- 修改`web.xml`文件,确保SimpleUploader的Servlet启用(将enabled参数值设为true),同时设置Connector Servlet的baseDir参数指向文件上传的目录。 4. **添加TLD文件定义**: - 在`web.xml`中添加以下代码以...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...