package org.zln.struts.domain;

import org.apache.struts.upload.FormFile;

/**
* Created by sherry on 000021/5/21 21:06.
*/
public class RegUser { /*文件上传*/
private FormFile photo; public FormFile getPhoto() {
return photo;
}
public void setPhoto(FormFile photo) {
this.photo = photo;
} }
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
<title>注册用户</title>
</head>
<body> <html:form action="/upload" method="post" enctype="multipart/form-data">
<table>
<caption><h2>文件上传</h2></caption>
<tr>
<td>文件</td>
<td>
<html:file property="regUser.photo"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<html:submit>
<bean:message key="info.submit" bundle="message"/>
</html:submit>
</td>
</tr>
</table>
</html:form>
</body>
</html>
package org.zln.struts.action;

import org.apache.commons.lang3.StringUtils;
import org.apache.struts.Globals;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;
import org.zln.struts.domain.Gender;
import org.zln.struts.domain.Speciality;
import org.zln.struts.form.RegUserForm; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.UUID; /**
* Created by coolkid on 2015/5/23 0023.
*/
public class UserAction extends Action {
...... private String upload(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException {
RegUserForm regUserForm = (RegUserForm) form;
FormFile photo = regUserForm.getRegUser().getPhoto();
System.out.println(photo.getFileName()+
":"+photo.getFileSize());
//response.setContentType("text/html;charset=UTF-8");//过滤器已经做了这活儿
/*response.getWriter().print(photo.getFileName() +
":" + photo.getFileSize());*/ InputStream inputStream = photo.getInputStream();
String savePath = request.getServletContext().getRealPath("/upLoad");
File upDir = new File(savePath);
if (!upDir.exists()){
upDir.mkdirs();
System.out.println(savePath+"\n目录创建成功");
}
System.out.println("path:"+savePath);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(new File(upDir, UUID.randomUUID()+photo.getFileName())));
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read())>0){
bufferedOutputStream.write(bytes,0,len);
}
bufferedOutputStream.close();
inputStream.close();
System.out.println("文件上传成功");
return "SUCCESS";
} ...... }

Struts1文件上传的更多相关文章

  1. Struts1文件上传、单文件、多文件上传【Struts1】

     将struts1文件上传的操作汇总了一下,包括单文件上传和多文件上传,内容如下,留作备忘: Struts2实现文件上传的文章(http://blog.csdn.net/itwit/article/d ...

  2. jsp\struts1.2\struts2 中文件上传(转)

    jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...

  3. Struts1.3——文件上传和下载

    1.Struts文件上传 在Web开发中,会经常涉及到文件的上传和下载,比如在注册账户的时候,我们需要上传自己的头像等. 我们可以利用Struts很方便地实现文件的上传. 1.1 开发步骤 现在,假设 ...

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

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

  5. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

  6. android和struts2实现android文件上传

    1.开发准备如下2个工具类 package org.lxh.util; import java.io.BufferedReader; import java.io.InputStreamReader; ...

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

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

  8. JavaWeb -- Struts2,对比, 简单表单提交,校验,防重复提交, 文件上传

    Struts2核心流程图 1. Struts2 和 Struts1 对比 struts1:基于Servlet(ActionServlet),actionForm众多(类的爆炸),action单例(数据 ...

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

    1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...

随机推荐

  1. ABAP术语-HTML

    HTML 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/19/1073298.html Hypertext Markup Language( ...

  2. EF core Code First 简单的使用方法

    好吧,我又回来了,其实一直都想写一篇关于EF core 的文章去记录自己在开发时候遇到的问题. 为什么要使用EF框架呢,因为原始的ADO.NET需要编写大量的数据访问代码,所以使用EF会更方便.但是今 ...

  3. classList属性详解

    之前我们要操作一个DOM元素的class属性,需要对这个DOM的class进行繁琐的循环判断,而现在HTML5为每个元素定义了classLlist属性,用于在元素中添加,移除及切换 CSS 类.该属性 ...

  4. git的初始配置(简易的命令行)

    Git 全局设置: git config --global user.name "You name" git config --global user.email "Yo ...

  5. Laravel5.x 封装的上传图片类

    图片缩放需要用conposer安装 ImageManagerStatic类 可参考下面的地址安装: https://www.jb51.net/article/128159.htm 控制器里: 控制器里 ...

  6. ReentrantLock详解

    ReentrantLock概述 ReentrantLock是Lock接口的实现类,可以手动的对某一段进行加锁.ReentrantLock可重入锁,具有可重入性,并且支持可中断锁.其内部对锁的控制有两种 ...

  7. 数据库中pymysql模块的使用

    pymysql 模块 使用步骤: 核心类Connect链接用和Cursor读写用 1. 与数据库服务器建立链接 2. 获取游标对象(用于发送和接收数据) 3. 用游标执行sql语句 4. 使用fetc ...

  8. 10---git安装

    卸载原来的版本: # 查看版本 git --version # 移除原来的版本 yum remove git 安装依赖库: yum install curl-devel expat-devel get ...

  9. flask与javascript及ajax

    flask与javascript及ajax 1.      flask+js 1.1.    最简单的 最简单的元素信息改变. {% block content %} <h1>我的第一张网 ...

  10. KMP算法(查找子序列)

    KMP类似暴力,但是不会和暴力完全一样,回溯到起点. 简单的说  假如   模板链字符串是:        abcabcabcabd        寻找abcabd 在模板链出现的次数,并且输出该次数 ...