struts2文件上传时遇到的几个问题

上传表单为:
这里写图片描述
问题1:文件未找到
具体为jsp中的myfile文件未传到Action处理类中,可能原因有:
1.未在struts2.xml中配置文件拦截器
这里为图片拦截器
这里写图片描述
FileUploadInterceptor拦截器和ParametersInterceptor拦截器为struts2内部的拦截器,可以把jsp页面上传的文件注入到action类中具有一定命名规则的param中去。
如上图文本框name为myfile,则在action类中定义的标准为:
这里写图片描述
2.表单中未设置enctype=”multipart/form-data”
这里写图片描述
表单标签中设置enctype=”multipart/form-data”来确保匿名上载文件的正确编码。 表单中enctype=”multipart/form-data”的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
enctype=”multipart/form-data”是上传二进制数据; form里面的input的值以2进制的方式传过去。 form里面的input的值以2进制的方式传过去,所以request就得不到值了。一篇详解博客
问题2.缺乏相关jar包
lib中要导入commom-fileUpload….jar
问题3:mkdir()和mkdirs()区别
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:
new File(“/tmp/one/two/three”).mkdirs();
执行后, 会建立tmp/one/two/three四级目录
new File(“/tmp/one/two/three”).mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值