首页 > Web开发 > 详细

struts2的多个文件上传思路,小例子 ,仅供参考

时间:2015-10-06 16:56:38      阅读:275      评论:0      收藏:0      [点我收藏+]
 jsp页面的部分代码   
 <form action="insertcp.action" method="post"  enctype="multipart/form-data" onsubmit="return yz()">
<table>
  <tr>
                         <td>产品图片1:</td>
                           <td><input type="file" name="attach" id="ones" /></td>
                            <td id="divone"></td>
                        </tr>
                        <tr>
                         <td>产品图片2:</td>
                         <td><input type="file" name="attach" id="two"/></td>
                            <td id="divtwo"></td>
                        </tr>
                        <tr>
                         <td>产品参数图片:</td>
                            <td><input type="file" name="attach" id="three"/></td>
                            <td id="divthree"></td>
                        </tr>
         <tr>
                         <td></td>
                            <td><input type="submit" value="上传"  style="width:100px; height:30px; font-weight:bold;"/><input type="reset" value="取消"  style="width:100px; height:30px;font-weight:bold;"/></td>
                             <td></td>
                        </tr>
     </table>
struts.xml
            拦截器等配置少不了
<constant name="struts.ui.theme" value="simple"/>
  <!--解决乱码    -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
       <!-- 指定允许上传的文件最大字节数。默认值是2097152(2M)(总) -->
 <constant name="struts.multipart.maxSize" value="1024102400"/>
   <package name="default" namespace="/" extends="json-default,struts-default">
  <!-- 多个文件上传 -->
    <action name="insertcp" class="com.juda.action.AdminGuanliaction" method="insertcp">
      <!--图片存储路径-->
      <param name="savePath">/images</param>
     <interceptor-ref name="fileUpload">
     <!--图片格式-->
      <param name="allowedTypes">/image/bmp,image/png,image/gif,image/jpeg,image/jpg,image/x-png, image/pjpeg</param>  
      <!--图片大小,(单)个。这点容易出错,让人忽略,后面有解释-->
      <param name="maximumSize">1024102400</param>
     </interceptor-ref>
     <interceptor-ref name="defaultStack"></interceptor-ref>
     <result name="success" type="chain">cpaction</result>
     <result name="input">MyJsp.jsp</result>
    </action>
 //文件上传产品信息上传
 private File[] attach;
 private String[] attachFileName;
 private String[] attachContentType;
 private String savePath;
 public String insertcp() throws Exception{
  ServletActionContext.getRequest().setCharacterEncoding("UTF-8");
  //获取数组
  File[] file=getAttach();
  
   if(file.length>0 && file!=null){
    for(int i=0;i<file.length;i++){
     //打印出来路径
     System.out.println(getSavePath()+"\\"+getAttachFileName()[i]);
     //w文件上传流
     FileOutputStream fos=new FileOutputStream(getSavePath()+"\\"+getAttachFileName()[i]);
       //建立上传文件的输入流
     FileInputStream fis=new FileInputStream(file[i]);
     byte[] by=new byte[1024];
     int len=0;
     while((len=fis.read(by))>0) {
      fos.write(by,0,len);
     }
     fos.close();
     fis.close();
    
   
     }
    }
     
 }

struts2的多个文件上传思路,小例子 ,仅供参考

原文:http://my.oschina.net/u/2391545/blog/513745

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!