Struts2之文件上传

7 篇文章 2 订阅

    之前写过一篇上传文件的文章,用是FileUpload组件http://blog.csdn.net/kdc18333608478/article/details/52664720今天就介绍一下Struts2中的文件上传吧,其实它底层采用的就是FileUpload,只是进行了简单的封装,用起来更加方便了。下面就详细介绍一下。

    首先,在Action中定义上传文件和上传文件名,生成get和set,那么当表单提交到action的时候,就会把上传文件封装进来,这里封装的具体操作是通过默认的拦截器实现的,以下是摘取的一部分代码,

//文件上传
	private File upload; //上传文件
	private String uploadFileName;//文件名
	public File getUpload() {
		return upload;
	}
	public void setUpload(File upload) {
		this.upload = upload;
	}
	public String getUploadFileName() {
		return uploadFileName;
	}
	public void setUploadFileName(String uploadFileName) {
		this.uploadFileName = uploadFileName;
	}
	//提交
	public String addsubmit() throws IOException{
		//判断是否需要文件上传
		if (upload!=null) {
			//在上传到服务器文件夹里创建文件
			File fileName=new File("E:\\uploadtest"+"/"+uploadFileName);
			//把上传本地文件复制到服务器的文件中
			FileUtils.copyFile(upload, fileName);
		}
		linkManService.addsubmit(linkMan);
		return "addsubmit";
	}
    在这里需要注意的是,定义的上传文件的名称必须和表单里的input中的file的name属性相同,也就是此处的设置


    还有就是文件名是上传文件名称+FileName,也就是代码中的uploadFileName.最后是上传过程,在此处先判断上传文件不为空的情况选择上传。最后测试一下,上传之前是这样


上传之后


    文件成功上传到指定路径下!此时我们的功能已经实现了。但是Struts2的文件上传是有大小限制的,如果什么都不配,用默认的方法,只能上传小于2M的文件,解决这个可以去找到源码可以看出,,如图


框架给这个常量默认设置了上传文件大小2M,超过2M的文件你上传就会报错,有兴趣自己可以试试,这个我们是可以改的,如下图,我把它后边加俩零,此时限制就成200M的了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值