Struts2上传文件及问题解决

先把用到的代码贴出来。

 

代码源自网络,由于我在应用时出了一些问题,所以贴出来,以便帮助大家。哈哈,看了记着评论……

 

第一个index.jsp

 

 

2.上传成功页面(上传成功并显示图片): upSuc.jsp

 

 

 

 

3.ACTION类:  UploadAction.java

 

 
4.struts.xml

 

 

5.web.xml

 

 

################################################################

 

 

OK,代码贴完了。运行后,会出现以下问题:

 

 

 

严重: Servlet.service() for servlet jsp threw exception
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
    at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
    at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:697)
    at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:330)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:390)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

 

Unable to load bean ..... 没办法加载某些包,所以:

必学要有commons-fileupload-1.2.1.jar 和 commons-io-1.4.jar !!!!。切记!!

然后会出现下面问题:

错误信息如下:

Content-Type not allowed: pic "upload__29a248bd_1298df50ce0__8000_00000008.tmp" image/pjpeg

 

 

 

解决办法如下:

这里你要聪明点,只改动上面贴出文件的对应位置就可以。

 

<actionname="addMenu"class="minMenuAction"method="addMenu">

           <interceptor-refname="fileUpload">

               <paramname="allowedTypes">image/bmp,image/png,image/gif,image/jpeg,image/jpg</param>

               <paramname="maximumSize">1024000</param>

           </interceptor-ref>

           <interceptor-refname="defaultStack"></interceptor-ref>

           <paramname="savePath">/upfile/images</param>

           <resultname="input">/page/back/category_list.jsp</result>

           <resulttype="redirect-action">showMenu</result>

</action>

 

原因:ie会把 jpgjpeg翻译成image/pjpegpng翻译成image/x-png而火狐则很标准:jpgjpeg翻译成image/jpegpng翻译成image/png

解决方法:

<paramname="allowedTypes">

    image/bmp,image/png,image/gif,image/jpeg,image/jpg,image/x-png, image/pjpeg

 </param>

 

 

 

该文章整理自网络几篇解决方案的整合,我亲身测试,希望对大家有帮助,也是实际中我遇到的问题,哈哈,就到这里。以后多多光顾啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值