码迷,mamicode.com
首页 > 编程语言 > 详细

java中文件上传的Bug

时间:2018-06-21 17:26:46      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:案例   必须   完成   文件流   服务   put   1.4   在服务器   struct   

文件上传,有两种方式,一种是自己解析文件流,一种是借助struct2中自带的拦截器对文件进行解析

自己解析流文件:利用 commons-io-1.4.jar和commons-fileupload-1.2.1.jar来进行解析,相关的事项如下:
1.浏览器端注意事项
     1.请求方式必须是 post
     2.需要使用组件<inputtype="file" name="f"> 组件必须有名称
     3.表单必须设置encType="multipart/form-data"
 2.服务器端处理
     通过request对象,获取InputStream,可以将浏览器提交的所有数据读取到.  
 3.入门案例分析
     在浏览器端创建一个可以上传文件的表单,在服务器端通过commons-fileupload完成文件上传。
          浏览器端注意三件事情:
                         1.表单的method=post
                         2.设置encType=multipart/form-date
                         3.使用具甩name属性的file元素
         在服务器端
              1.创建DiskFileItemFactory
                         2.创建ServletFileUpload
                         3.通过ServletFileUpload的parseRequest方法得到所有的FileItem 
 struct2中自带的拦截器对文件进行解析:
 这个原理同上,只是不可以用上述的 ServletFileUpload来获取FileItem ,因为struts2自2.0以后的版本,会拦截文件流,所以无法使用该方法来进行文件上传,必须使用struts2中自带的方法对文件进行读取,这也是这一次文件上传案例中的bug.

java中文件上传的Bug

标签:案例   必须   完成   文件流   服务   put   1.4   在服务器   struct   

原文地址:https://www.cnblogs.com/codedoge/p/9209146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!