我一直在尝试将ck编辑器文件上传与使用Stripes 1.8开发的应用程序集成,但未能成功。 从CK编辑器文件bowser(普通html),我能够点击一个处理文件上传功能的servlet。但是,以下代码段无法执行。
// get uploaded file list
// the following code uses commons-fileupload-1.3.1
// the imports are removed for crispiness of the code
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
if (ServletFileUpload.isMultipartContent(request)) {
try {
List files = upload.parseRequest(request); // returns an empty list
}catch (Exception e) { // no error handling}
e.printStackTrace();
}
}
可能是什么原因,是否有某种解决方法。 顺便说一句,相同的代码在Struts 1.3应用程序中运行良好。
答案 0 :(得分:0)
问题在于web.xml设置
<filter-mapping>
<filter-name>stripesFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当它改为
时<filter-mapping>
<filter-name>stripesFilter</filter-name>
<url-pattern>/action/*</url-pattern>
</filter-mapping>
该请求已经过解析,因为它经过了条带servlet过滤器。由于输入流已被前一个进程占用,因此Commons FileUpload不再可用于解析。