struts2文件上传

如果出现找不到指定的路径,就在你的项目下new一个文件夹upFile

项目中new以个Tomcataction类

UpFile.java

package action;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UpFileAction extends ActionSupport{
	private String fileFileName;
	private String fileContentType;
	private String file;
	@Override
	public String execute() throws Exception {
		byte[] b=new byte[1024];
		InputStream is=new FileInputStream(file);
		OutputStream os=new FileOutputStream(new File(ServletActionContext.getServletContext().getRealPath("/upFile"),this.getFileFileName()));
		int length=0;
		while((length=is.read(b))>0){
			os.write(b,0,length);
		}
		is.close();
		os.close();
		return SUCCESS;
	}
	public String init(){
		return SUCCESS;
	}
	
	public String getFileFileName() {
		return fileFileName;
	}
	public void setFileFileName(String fileFileName) {
		this.fileFileName = fileFileName;
	}
	public String getFileContentType() {
		return fileContentType;
	}
	public void setFileContentType(String fileContentType) {
		this.fileContentType = fileContentType;
	}
	public String getFile() {
		return file;
	}
	public void setFile(String file) {
		this.file = file;
	}
	
}
struts中文件上传的action配置

<!-- 文件操作 -->
	<!-- 上传 -->
	<action name="initUp" class="action.UpFileAction" method="init">
		<result>upFile.jsp</result>
	</action>
	<action name="upFile" class="action.UpFileAction">
		<result>/upFile.jsp</result>
	</action>
upFile.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'UpFile.jsp' starting page</title>

  </head>
  
  <body>
    <s:form action="upFile.action" enctype="multipart/form-data" method="post">
    	<s:file name="file" size="50" label="文件上传"></s:file>
    	<s:submit value="上传"></s:submit>
    </s:form>
    <img src="${pageContext.request.contextPath}/<s:property value="'upFile/'+fileFileName"/>">
  </body>
</html>
直接访问initUp.action就可以转到上传文件的jsp了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值