今天学会了如何自己编写 JSP 用来处理 CKEditor 的图片上传。
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,它是上传成功后进行回调的一个必要参数。