COS文件上传组件在Struts1.X环境下的问题[SOS]
[SOS]紧急救援
问题是这样的:
我使用文件上传组件COS进行文件的上传操作,按照COS的例子,我也成功的做了一个Demo,但这个Demo是这样的.有两个JSP文件:
a.jsp(用于生成上传界面)
upload.jsp(内嵌了javaCode实现文件上传操作)
我想对他进行点改进,就是说:我实现文件上传的代码我想写在StrutsAction中,而不是嵌在一个JSP里面.具体我是怎么写的,请看下面的代码:
a.jsp的代码如下:
upload.jsp的代码如下:
通过上面的两个JSP文件,我成功的完成了我的上传操作!
但是,我把它移植到Struts的Action中就报错了。请继续往下看:
a-1.jsp的代码如下:
UploadActionForm.java的代码如下:
我请求这个页面的时候,控制台报出如下错误信息:2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - Executing org.apache.struts.chain.commands.servlet.ExceptionHandler2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - See if actionConfig ActionConfig[cancellable=falsepath=/test_4Actionvalidate=false,input=jspView,name=test_4ActionForm,scope=request,type=com.eredlab.eredcip.test.web.action.Test_4Action has an exceptionConfig for java.io.IOException2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look locally for java.io.IOException2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look globally for java.io.IOException2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look locally for java.lang.Exception2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look globally for java.lang.Exception2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look locally for java.lang.Throwable2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look globally for java.lang.Throwable2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look locally for java.lang.Object2007-11-02 01:45:54,750 DEBUG [http-8082-Processor23] - findException: look globally for java.lang.Object2007-11-02 01:45:54,750 WARN [http-8082-Processor23] - Unhandled exceptionjava.io.IOException: Posted content type isn't multipart/form-dataat com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:166)at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:173)at com.eredlab.eredcip.test.web.action.Test_4Action.execute(Test_4Action.java:39)at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
不知如何解决,请指教,
鞠躬! 1 楼 williamy 2007-11-02 jsp和struts的request是不同的 2 楼 xiaoxiaodi5834 2007-11-02 为什么要用这个?
直接用org.apache.struts.upload包不是更方便,呵
3 楼 JaNer 2007-11-02 结测试,COS性能是最优的,而且支持文件自定义重命名! 4 楼 JaNer 2007-11-17 的确是由于JSP/servlet的Request和Sturts的Request的不同造成的。Struts对Request对象好像进行了包装!这个问题就暂时搁下了,有时间再解决。偶先用Servlet用着! 5 楼 hantsy 2007-11-29
在struts程序中,内置的fileupload方式比使用cos要好用得多。 6 楼 yinsuxiaokucha 2008-09-24 cos 对大文件的处理 要比其他组件强的多~~~ 有没有办法把struts中得到servlet的request呢?