文档章节

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

梦想起航我起床
 梦想起航我起床
发布于 2015/10/06 16:05
字数 413
阅读 83
收藏 1
 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();
    
   
     }
    }
     
 }

© 著作权归作者所有

梦想起航我起床
粉丝 1
博文 7
码字总数 2273
作品 0
海淀
程序员
私信 提问
Fastupload 0.4.7 发布,支持 struts2

Fastupload 0.4.7这个版本中主要增加了支持struts2的文件上传功能的“插件”,修复了解析IE7,IE8下某些版本上传的请求数据中文件名问题(这里感谢lkclkc 网友报的bug及提供的解决思路)。 ...

仪山湖
2012/10/28
1K
1
第一个Struts2实例之hello world!

Struts官网: http://struts.apache.org/ Struts2框架预先实现了一些功能 1:请求数据自动封装 2:文件上传的功能 3:对国际化功能的简化 4:数据校验的功能 第一:首先需要说明的是Struts就...

别叫小伙
2017/02/19
0
0
Java代码审计丨某开源系统源码审计

  *本文作者:黑客小平哥,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。   java源代码审计相关资料一直比较少,今天抽空给大家写一篇简单的开源代码审计,这是个做公司网站的开源模...

FreeBuf
2018/07/27
0
0
struts2 上传文件添加进度条

为了给用户更好体验,最进在struts2添加了上传进度条让用户知道上传过程时间,增加有好度。 由于以前做个 文件上传 没有用过 组件进行解析,直接用servlet 解析的,而现在 struts2 框架使用 ...

hlevel
2013/08/14
7.6K
6
Kindeditor 上传功能

Kindeditor支撑java,供给的示例法度由jsp充当文件经管和上传,以前应用好好的,但此次应用的struts2,而struts过滤器包装了request,对就因为这点, kindeditor不克不及应用了。在kindedito...

i33
2012/02/15
3.9K
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈梯子游戏三门打法技巧走势攻略教程(学会稳稳上岸)

摘要:那么下面我就给大家总结一下技巧和玩法!一、玩梯子的前期准备:1,最重要是zi金准备,提前做好ben金准备能保证自己的zi金链不断,稳中求胜。2,其次是止sun底线,风险控制一定要懂得舍弃,买彩...

V_6696089
38分钟前
8
0
今天发布 需求登记表,不戴眼镜开发的成果

今天是不戴眼镜调理第八天 之前带五百度眼睛0.5 现在是做了三次调理,通常,成人比青少年要慢些 明天正式学习 调理技术 最近不怎么开电脑做开发,发现时间多了许多 虽然想把开发缓一阵子,但...

蒋志祥
47分钟前
4
0
Linux 之docker部署,走过的那些坑

初次使用docker, 多有不足,这里把坑一点点的记下来 概念篇 docker 是什么? 太多文字不同,书读的少, 不懂大大道理; 在我的理解, 它就是个沙箱环境; 在linux中 ,独立进程, 有着自己的小世界 使...

莫库什勒
今天
5
0
vue class绑定 组件

本文转载于:专业的前端网站➬vue class绑定 组件 当在一个自定义组件上使用 class 属性时,这些类将被添加到该组件的根元素上面。这个元素上已经存在的类不会被覆盖。 例如,如果你声明了这个...

前端老手
今天
5
0
exist和in

exist和in select ..from table where exist (子查询) ; select ..from table where 字段 in (子查询) ; 如果主查询的数据集大,则使用In,效率高。 如果子查询的数据集大,则使用exist,效率高...

潦草的犀牛
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部