当前位置: 首页 > news >正文

在struts1.1框架下,利用smartupload实现文件的上传(可以是多个文件)

1、前端页面upload.jsp,后台处理程序UplodAction.java
2、struts.config的配置参数如下(没有设置 ActionForm):
<action input="/upload.jsp"  path="/save" scope="request" type="yhp.test.web.UploadAction" validate="false">
      <forward name="success" path="/list.do" />
    </action>
3、upload.jsp页面中主要部分代码
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri=" http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri=" http://java.sun.com/jstl/core" prefix="c" %>
<html:html>
<head>
<title> 测试Struts利用SmartUpload上传文件 </title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</head>
<body>
<html:form action="/save.do" styleId="formItem" method="post"  enctype="multipart/form-data">
<html:hidden property="id"/>
<html:file property="serverpath" styleClass="input-text"></html:file>
</html:form>
</body>
</html:html>
4、UploadAction.java
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;

public ActionForward doBatchsave(ActionMapping actionMapping,
   ActionForm actionForm, HttpServletRequest httpServletRequest,
   HttpServletResponse httpServletResponse) throws Exception {
SmartUpload mySmartUpload = new SmartUpload();
  mySmartUpload.initialize(getServlet().getServletConfig(),httpServletRequest, httpServletResponse);  
  mySmartUpload.upload();
  //获取除文件以外的相关信息,例如upload.jsp中隐藏控件id的值
  String strId=(String)mySmartUpload.getRequest().getParameter("id");
  Files files=mySmartUpload.getFiles();
  Collection col=files.getCollection();
  Iterator it=col.iterator();
  while(it.hasNext()){
    File file=(File)it.next();    
    String oldFileName=file.getFileName();     
    String extname=file.getFileExt();
    String fileName=Sequence.getSequence()+"."+extname;//产生一个唯一的文件名
    file.saveAs("c:\\temp\"+fileName);    
  }
  return (actionMapping.findForward("success"));

转载于:https://www.cnblogs.com/swingboat/archive/2005/05/25/162066.html

相关文章:

  • [转帖]三星F488E的JAVA安装方法
  • UICheckBox 用法解析
  • MySQL笔记系列:数据库概述
  • JOIN 和 WHERE?简单的问题也有学问。
  • 图像替换技术
  • WCF 第四章 绑定 创建一个自定义绑定
  • 健康小常识
  • 似水流年 ? Chrome调试大全
  • 关于gulp复制文件时把整个目录结构都复制的问题解决
  • java 求集合真子集_高中数学第2讲:子集与并集
  • 网线传输速度测试_如何鉴定网线好坏?怎样测网线电阻?
  • 展示 用户画像_智能时代如何做好精准营销?从用户画像智能化开始
  • centos 一键安装ftp 配置_CentOS6一键安装vsftp脚本
  • ribbon基于接口配置超时_feign的ribbon超时配置和hystrix的超时配置说明
  • 怎么把好几行弄成一行_怎么在word文档里把很多行一下合并成一行
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【RocksDB】TransactionDB源码分析
  • Bytom交易说明(账户管理模式)
  • eclipse的离线汉化
  • js中的正则表达式入门
  • MobX
  • spring boot 整合mybatis 无法输出sql的问题
  • spring-boot List转Page
  • vue学习系列(二)vue-cli
  • 产品三维模型在线预览
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 每天一个设计模式之命令模式
  • 用jquery写贪吃蛇
  • 在Unity中实现一个简单的消息管理器
  • 怎么把视频里的音乐提取出来
  • 说说我为什么看好Spring Cloud Alibaba
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.11) SiK Radio v2(一)
  • (1)虚拟机的安装与使用,linux系统安装
  • (NSDate) 时间 (time )比较
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (四)JPA - JQPL 实现增删改查
  • (五)MySQL的备份及恢复
  • (一)appium-desktop定位元素原理
  • (一)Java算法:二分查找
  • *** 2003
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • @Data注解的作用