Struts2文件上传FileNotFoundException问题

1.使用Struts2实现单个文件上传

注意:要实现文件上传文件,一定要添加两个jar包,commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar
(1)新建fileUpload.jsp
 <body>
    <s:form action="fileUpload" enctype="multipart/form-data" method="post">
    	<s:file name="uploadFile" label="文件上传"/>
    	<s:submit value="提交"/>
    	<s:reset value="重置"/>
    </s:form>
  </body>
(2)新建FileUploadAction.class
package com.tyf.upload;

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 FileUploadAction extends ActionSupport{
	private File uploadFile;//用来封装上传的文件
	private String uploadFileContentType;//用来封装上传文件的类型
	private String uploadFileFileName;//用来封装上传文件的文件名
	public File getUploadFile() {
		return uploadFile;
	}
	public void setUploadFile(File uploadFile) {
		this.uploadFile = uploadFile;
	}
	public String getUploadFileContentType() {
		return uploadFileContentType;
	}
	public void setUploadFileContentType(String uploadFileContentType) {
		this.uploadFileContentType = uploadFileContentType;
	}
	public String getUploadFileFileName() {
		return uploadFileFileName;
	}
	public void setUploadFileFileName(String uploadFileFileName) {
		this.uploadFileFileName = uploadFileFileName;
	}
	public String execute() throws Exception{
		InputStream is=new FileInputStream(uploadFile);
		String uploadPath=ServletActionContext.getServletContext().getRealPath("/upload");
		File toFile =new File(uploadPath,this.getUploadFileFileName());
		OutputStream os=new FileOutputStream(toFile);
		byte[] buffer=new byte[1024];//设置缓存
		int length=0;
		while((length=is.read(buffer))>0){
			os.write(buffer,0,length);
		}
		is.close();
		os.close();
		return SUCCESS;
	}
}
(3)fileUploadResult.jsp
  <body>
    上传文件名: ${uploadFileFileName}<br>
  文件类型: ${uploadFileContentType}<br>
  </body>
(4) struts.xml
<package name="upload" extends="struts-default" namespace="/">
	<action name="fileUpload" class="com.tyf.upload.FileUploadAction">
		<result name="success">/fileUploadResult.jsp</result>
		<result name="input">/fileUpload.jsp</result>
	</action>
</package>

项目运行


这里会出现这种问题,后来发现这个目录下没有upload文件夹,新建upload文件夹之后,项目正常运行。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值