用 JSP 自己编写 CKEditor 图片上传服务器端代码

今天学会了如何自己编写 JSP 用来处理 CKEditor 的图片上传。

 

<%@ page import="org.apache.commons.fileupload.FileItem" %> <%@ page import="java.util.List" %> <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %> <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %> <%@ page import="org.apache.commons.io.FilenameUtils" %> <%@ page import="java.io.File" %> <%@ page import="org.apache.commons.lang.StringUtils" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String callback = request.getParameter("CKEditorFuncNum"); try { if (ServletFileUpload.isMultipartContent(request)) { ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); List<FileItem> fileItemsList = servletFileUpload.parseRequest(request); String filename = String.valueOf(System.currentTimeMillis()); for (FileItem item : fileItemsList) { if (!item.isFormField()) { String _filename = item.getName(); filename += "." + FilenameUtils.getExtension(_filename); String clientPath = "images/" + filename; // 这里应根据需要修改。 File file = new File(application.getRealPath(clientPath)); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } item.write(file); } } %> <mce:script type="text/javascript"><!-- window.parent.CKEDITOR.tools.callFunction(<%=callback%>, '<%=clientPath%>', ''); // --></mce:script> <% } } catch (Exception e) { e.printStackTrace(); %>文件上传失败。<% } %>

 

这里一个很重要的参数就是 CKEditorFuncNum,它是上传成功后进行回调的一个必要参数。

你可能感兴趣的:(jsp,String,服务器,File,callback,import)