struts 上传文件

文件上传的时候struts会使用默认18个拦截器中的<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>进行处理。

文件上传Action类:

Action类中定义三个属性:

private File file1; 对应表单:<input type="file" name="file1">

private String file1FileName; 文件名

private String file1ContentType;文件的类型(MIME)

并且提供这三个属性的set方法。

文件上传表单:

<form action="${pageContext.request.contextPath }/fileUploadAction" method="post" enctype="multipart/form-data">
  		用户名:<input type="text" name="userName"><br/>
  		文件:<input type="file" name="file1"><br/>
  		<input type="submit" value="上传">
  	</form>

文件上传使用的Action类UploadAction

package cn.itcast.upload;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport{

	// 对应表单:<input type="file" name="file1">
	private File file1;
	// 文件名
	private String file1FileName;
	// 文件的类型(MIME)
	private String file1ContentType;
	public void setFile1(File file1) {
		this.file1 = file1;
	}
	public void setFile1FileName(String file1FileName) {
		this.file1FileName = file1FileName;
	}
	public void setFile1ContentType(String file1ContentType) {
		this.file1ContentType = file1ContentType;
	}
	public String upload() throws IOException{
		//得到上传的文件夹
		String path=ServletActionContext.getServletContext().getRealPath("/upload");
		//创建文件
		File file=new File(path,file1FileName);
		//讲上传的文件上传到指定的文件夹
		FileUtils.copyFile(file1, file);
		return "success";
	}
}

struts.xml文件的配置:

<struts>
	<package name="upload_" extends="struts-default">
		<!-- 注意: action 的名称不能用关键字"fileUpload" -->
		<action name="fileUploadAction" class="cn.itcast.upload.UploadAction" method="upload">
			<result name="success">/index.jsp</result>
			<!-- 配置错误视图 -->
			<result name="input">/error.jsp</result>
		</action>
		</package>
</struts>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 05:33:29

struts 上传文件的相关文章

struts 上传文件 Dynavalidatorform 实例

一.相关jar包     一个空struts工程的jar包:    另上传文件的两个jar包: 二.页面 1.上传页面upload.jsp 1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tra

Struts上传文件总结

一.上传文件过程(以上传头像为例) 1.头像文件通过jsp的表单提交到add.action进行处理 注意 1)表单的enctype属性设置为multipart/form-data 2)上传方式为post方法 <form id="form" name="form" action="${basePath}nsfw/user_add.action" method="post" enctype="multipart/f

利用Struts上传文件

在利用struts2完成上传文件到服务器时,遇到获取不到文件名 原因是在Action中的属性名没有和jsp中的属性名匹配 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"

Struts上传文件

编写jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head&

struts使用html:file上传文件的时候文件名乱码解决

<body> <html:form action="/jwid/struts1x/15.3/form/upload.do?action=upload" enctype="multipart/form-data"> 文件:<html:file property="file" style="width:200px;"></html:file><br> 备注:<htm

struts利用插件jqueryupload上传文件,后台处理文件代码

package cn.axhu.education.action.file; import cn.axhu.education.common.FileSystemConfig;import cn.axhu.education.common.utils.FileUtils;import net.ruixin.web.struts2.SimpleActionSupport;import org.apache.struts2.convention.annotation.Action;import or

java配置ueditor中解决“未找到上传文件”错误提示

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到需要上传的内容导致“未找到上传文件”的错误! 参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类.由于我们的工程中可能会有其他的上传等功能,为了不影响其他功能的时候,还需

uploadify上传文件

页面部分: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/common/taglibs.jsp"%> <%@ page import="com.cattsoft.baseplatform.func.sm.entity.SysU

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce