jsp页面

<!--上传图片时,在当前页面显示图片 注意form中必须加 enctype="multipart/form-data"-->
<form action="XXX.do" enctype="multipart/form-data">
<input type="file" name="file" onpropertychange="document.all.imgBook.src='file:///'+this.value" />
     <div id="img">
      <img id="imgBook" style="WIDTH: 110px; HEIGHT: 154px" height="154" src="" width="110"/>
     </div> 
</form>

ActionForm

public class DownloadForm extends ActionForm {

private String fileName;
 
 private FormFile file;

public FormFile getFile() {
  return file;
 }

public void setFile(FormFile file) {
  this.file = file;
 }

public String getFileName() {
  return fileName;
 }

public void setFileName(String fileName) {
  this.fileName = fileName;
 }

}

Action
public class Download_AddAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  DownloadForm downloadForm = (DownloadForm) form;// TODO Auto-generated method stub
  
//  上传
    FormFile file = downloadForm.getFile();

//根据时间设置文件名
    Calendar calendar=Calendar.getInstance();
        String time=calendar.get(Calendar.YEAR)+""+calendar.get(Calendar.DAY_OF_YEAR)+""+calendar.getTimeInMillis();
        String fileName = time+file.getFileName();

InputStream streamIn = null; //输入输出流
    OutputStream streamOut = null;
    String sysroot = servlet.getServletContext().getRealPath("/download/upload"); //获取图片文件夹路径    
    String filePath = sysroot + "//" + fName; //最终路径
    try {
     streamIn = file.getInputStream(); //以下是上传的代码,不用变,固定的
     streamOut = new FileOutputStream(filePath);
     int bytesRead = 0;
     byte[] buffer = new byte[20480];
     while ( (bytesRead = streamIn.read(buffer, 0, 20480)) != -1) {
     streamOut.write(buffer, 0, bytesRead);
     }
     streamOut.close();
     streamIn.close();
    request.setAttribute("info", "上传成功啦");
   
     }
     catch (FileNotFoundException e) {
     request.setAttribute("error", "上传失败啦");
     e.printStackTrace();
     return mapping.findForward("jumpErrorPage");
     }
     catch (IOException e) {

request.setAttribute("error", "上传失败啦");
     e.printStackTrace();
     return mapping.findForward("jumpErrorPage");
     }

return mapping.findForward("jumpSuccessPage");
}

struts1.2文件上传相关推荐

  1. JavaWeb -- Struts1 多文件上传与下载 DownloadAction, DispatchAction

    1. 多文件上传与下载 上传下载jsp: <%@ page language="java" import="java.util.*" pageEncodi ...

  2. Struts1.x多文件上传问题

    最近有个项目要用Struts1.x来做多文件上传,就是用户可以在前台动态添加任意多个文件,然后上传到服务器上.这里文件个数不定,所有没有定义到ActionForm里.于是这时候想到了Apache的Fi ...

  3. struts2.0实现文件上传

    首先,引入jar包.除了 Struts2.0的几个核心jar包外,还需要额外引入commons-fileupload.jar和commons-io.jar. 引入这两个包的时候,似乎版本也是一个比较重 ...

  4. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  5. springMVC3.0(文件上传,@RequestMapping加参数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传参,ajax,拦截器)

    1.项目包结构如下: 2.       spring配置文件springMVC.xml修改如下: <?xml version="1.0" encoding="UTF ...

  6. Java进阶学习第十六天(Struts框架:配置、数据处理、自动封装、日期类型转换、文件上传)

    一.Struts2配置 1.Struts2的Action开发的几种方式 ① 方式1:继承ActionSupport(一般使用方法) public class UserAction extends Ac ...

  7. web文件上传下载原理浅析

    一.web文件上传浅析 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Struts2中带的上传文件功能 ...

  8. springboot设置文件上传大小(tomcat默认1M)

    application.yml # 设置文件上传大小(tomcat默认1M) server:tomcat:max-http-form-post-size: -1 spring:servlet:mult ...

  9. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

    将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...

最新文章

  1. WEB学习 -相对定位、绝对定位、固定定位、z-index
  2. Java删除文件(delete file in java)
  3. Ajax链接输出数据库
  4. matlab的示波器保存figure图像
  5. MonoDevelop 0.14 on Ubuntu
  6. swap使用率达到100%的解决办法
  7. 无限制版电驴连接不上服务器,电驴怎么连接服务器?电驴连接不上服务器的解决方法介绍...
  8. 利用VMware安装PhoenixOS(win10下)
  9. CSS百分比参照物整理
  10. 发现IGame中又一个大坑
  11. python 编写仓库管理程序
  12. 同一个module里面多个initial是并行的吗
  13. 动漫人物人体结构难学么?衣物怎么画?
  14. vue3函数写法中的状态、函数定义
  15. python做app接口测试_关于python:pythonrequests对app和微信小程序进行接口测试
  16. 如果银行想开挂,RPA机器人舍我其谁?
  17. 嵌入式ARM汇编详解(持续更新)
  18. PotPlayer最新 中文,绿色版 PotPlayer
  19. 证券交易的基本知识-证券类别
  20. isspace()方法

热门文章

  1. .Net Core中利用TPL(任务并行库)构建Pipeline处理Dataflow
  2. HDU2552 三足鼎立 【数学推理】
  3. 数论 - 简单数位推理 --- NYIST 514
  4. 学IT技术几个好的网站
  5. 站长图卦:每天坚持搬砖 定有美好明天
  6. JAVA基础之理解JNI原理
  7. 网站搭建 (第09天) 博客统计排行
  8. 5. [mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)
  9. 为什么用B+树做索引MySQL存储引擎简介
  10. VBS基础篇 - 内置函数