【原创】struts上传文件时缺少enctype的严重后果!

[size=medium]
struts比较好的优势之一就是提供了文件上传功能,在JavaWeb应用方面有很多地方都会用到文件上传。

struts文件上传实现如下:

①在JSP页面用<html:form >和<html:file>,其中<html:form>中要指定提交文件的类型,这个类型非常重要!指定类型就是告诉struts我上传的是复杂类型,不是普通的文本类型,如下:

[color=red]<html:form action=" " method="" enctype="multipart/form-data" >[/color]
②在actionForm里面用[color=red]FormFile类型[/color]来定义上传文件的类型。

③在action里面可以根据实际需要,取得FormFile或者输入流,或者上传文件的类型,上传文件的名字和上传文件的大小,然后可以选择存入数据库,还是存入文件路径。

④注意:在应用的时候,我们通常不将文件存入数据库,而是直接存储文件的路径。

今天我就是按着自己的思路按部就班的做struts上传的流程做实验,可是不管怎么搞它都报错,而且当你不启动tomcat服务器或者不把项目部署到tomcat上它都还报错,把我搞的晕头转向,调试了半个小时也没有找到答案,好是郁闷!

首先是IE端错误信息:


[img]http://dl.iteye.com/upload/attachment/252438/abef5f39-88d6-3f7e-90b9-ccd67a234ce3.jpg[/img]
在来看看MyEclipse端错误信息:

[img]http://dl.iteye.com/upload/attachment/252442/cd19616d-d2b2-390a-8b43-90866c124fa9.jpg[/img]
MyEclipse端说是类型不匹配,其实说到底就是你没有指定上传文件类型,服务器根本就不知道你上传的是份特殊的文件,不是普通文本。但是就是因为我没有指定,它仍将接受到的看做是普通文本,那么对于FormFile类型,肯定搞不定的啦,类型能匹配吗???只要在<html:form>里面加上enctype属性,就轻松解决了!呵呵~
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值