读书人

struts2中文件下传过滤

发布时间: 2012-09-21 15:47:26 作者: rapoo

struts2中文件上传过滤

???return filterResult;
??}

??//以服务器的文件保存地址和原文件名建立上传文件输出流
??FileOutputStream fos = new FileOutputStream(getSavePath() + "\\" + getUploadFileName());
??//以上传文件建立一个文件上传流
??FileInputStream fis = new FileInputStream(getUpload());
??//将上传文件的内容写入服务器
??byte[] buffer = new byte[1024];
??int len = 0;
??while ((len = fis.read(buffer)) > 0)
??{
???fos.write(buffer , 0 , len);
??}
??????? ?return SUCCESS;
??? }

上面的Action类代码非常简单,它包含的execute方法先判断当前文件类型是否是允许上传的文件类型,如果该文件类型不允许上传,则返回input逻辑视图名;只有当该文件的类型是允许上传的文件类型时,才真正执行文件上传逻辑。
为了让文件类型检验失败时能返回input逻辑视图,因此必须为该Action增加input逻辑视图配置,
下面是该Action的配置文件代码。

?

?

上面的拦截器过滤不仅过滤了文件的类型,也过滤了文件大小。上传文件的类型只能是图片文件,且文件大小不能大于2000字节(当然,我们随时可以更改到更大)。如果我们上传文件的文件太大,系统将转入input的逻辑视图,也就是/upload.jsp页面。

读书人网 >软件架构设计

热点推荐