Struts 2 实现上传文件

关于文件的上传和下载,web是经常使用到的。在大部分时候,表单上用户的请求参数是字符串,但是如果将表单元素设置 =”multipart/form-data”属性,则提交表单时不再以字符串的形式提交参数,而是以二进制的方式提交请求。

enctype 的属性主要有:application/x-www-form-urlencoded (默认编码,只处理value属性值,将其处理成URL编码方式);multipart/form-data (二进制流方式处理表单数据,会把文件域指定文件的内容封装到请求参数中;不能以request.getParameter方法来获取请求参数);text/plain(主要用来表单直接发邮件的方式)。

使用上传框架完成上传,对于java文件而言,比较常用的上传框架有两个:Common-FileUpload和COS,不管使用哪个框架上传,它都负责解析出HttpServletRequest请求中的所有域——不管是文件域还是普通的表单域。

Struts 2的文件上传

Struts 2并未提供自己的请求解析器,也就是说,struts 2不会自己去处理multipart/form-data的请求,它需要调用其他上传框架来解析二进制请求数据。Struts 2在原有的上传解析器基础上做了进一步封装,从而进一步简化了文件上传。

如上图的一个文件上传。

代码如下:

<body>
<form action="upload.action" method="post" enctype="multipart/form-data">
  	文件标题:<input type="text" name="title" /><br />
  	选择文件:<input type="file" name="upload" /><br />
	<input value="上传" type="submit" />
</form>
</body>
Struts 2 的Action无需负责处理HttpServletRequest请求。正如前面介绍的,Struts 2的Action已经与Servlet API完全分离,Struts 2框架负责解析HttpServletRequest请求中的参数&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值