admin管理员组文章数量:1531765
2024年6月13日发(作者:)
《开始Struts 2》
第七章
struts2的上传下载
序
文件上传是Web应用经常需要面对的问题,在大部分时候,用户的请求参数是在表单域输入的字符串,
但如果为表单元素设置enctype="multipart/form-data”属性,则提交表单时不再以字符串方式提交请求参
数,而是以二进制编码的方式提交请求,此时直接通过HttpServletRequest的getParamete:方法无法正常获取
请求参数的值,我们可以通过二进制流来获取请求内容—通过这种方式,就可以取得希望上传文件的内容,从而
实现文件的上传。
kriss 第 - 2 - 页 3/26/2013
Struts 2 未提供自己的请求解析器,也就是说,Struts 2不会自己去处理multipart/form-data的请求,
在Struts 2的ties配置文件中,我们看到了下面的配置代码,它们主要用于配置Struts 2上
它需要调用其他请求解析器,将HTTP请求中的表单域解析出来。但Struts 2在原有的上传解析器基础上做了进
一步封装,更进一步简化了文件上传。
传文件时的卜传解析器。
#指定使用cos的文件上传解析器
# art .parser=cos
#指定使用Pell的文件上传解析器
#=pell
#Struts 2默认使用Jakarta的Common-FileUpload的文件上传解析器
rt .parser=jakarta
Struts 2默认使用的是Jakarta的Common-FileUpload的文件上传框架,要使用Struts 2的文件上传功
能,则需要在Web应用中增加两个commons-io-1.3. l .ja:和commons-fileupload-1.2. jar
文件上传
例子:
上传页面
上传的action
private String fileDesc;//和前台的是同一个
private File file;//这是IO的File,回顾下strust1.x的FormFile
//这两个字段是被注入进来的,前台页面并没有这两个表单域
private String fileFileName;
private String fileContentType;
/**
* 获得保存的路径
*/
private String getSaveDir(){
return
vletContext().getRealPath("/userDatas");
}
@Override
public String execute() throws Exception {
版权声明:本文标题:第七章 struts2的上传下载 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1718261037a659909.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论