JSP页面使用了enctype="multipart/form-data" 上传文件的问题

最近接手了一个已开发的项目做后续开发,发现一个JSP页面form表单里面使用了enctype="multipart/form-data",为了上传一个图片,但是我在这个J... 最近接手了一个已开发的项目 做后续开发,发现一个JSP页面 form表单里面 使用了enctype="multipart/form-data" ,为了上传一个图片,但是我在这个JSP页面多添加一个<input type="file" />上传第二个图片的时候就获取不到上传的文件名了? 这是为什么?
第一个<input type="file" name="file" />是这样的 用的是SS2H 依赖注入,在ACTION里面 有个File类型的 file接受这个参数,后台还有一个String类型的 fileFileName来存放上传的文件名,但是不知道这个String类型的 fileFileName在哪里赋的值,找遍项目也没找到,请大神给我解答一下,这个要怎么解决,第一个file控件上传图片没有问题,但是加第二个file控件 后上传就获取文件名了,想知道一下这个用于存放用户名的String类型的 fileFileName在哪里赋的值
展开
 我来答
yyy521fyy
2014-12-18 · TA获得超过3484个赞
知道大有可为答主
回答量:5392
采纳率:25%
帮助的人:3497万
展开全部

s:file 控件是个一拖三的玩意,一个file1 的控件对应了三个Action 类中的属性:file1,
file1ContentType 和file1FileName。file1 的类型是File,它对应的值是文件上传后临时存放
的位置,contenttype指文件类型,FileName指文件名称。

批量上传请使用List

追问
前台的file控件 name还是要区别吧? action中获取文件名的 String类型改成 List就行了吗? 我去试试吧.。已经试过了 不行 还是只获取了第一个控件里面的文件名 没有第二个的 下标越界
探路小蜗牛
2014-12-18 · TA获得超过129个赞
知道小有建树答主
回答量:221
采纳率:66%
帮助的人:147万
展开全部
这是Struts2自动帮你封装的,你只需要写好File的名字与前台对应就可以了,多个文件上传的话Struts也是有文件数组可以完成的,设置好get set方法即可
更多追问追答
追问
你是说 我在前台多设置一个 然后后台的String类型的 fileFileName改成 String类型的数组就可以了吗?或者说这个文件数组要怎么才能知道,如何去设置get set方法呢?
追答
直接创建一个file2对象即可,然后用Eclipse或者MYEclipse自动生成get set 方法,其它的你不用管 file2  file这两个文件对象里面已经写好了二进制流了,即已经是你上传的文件了,接下来你需要做的就是将文件放入一个目录就可以了 例如:InputStream is = new FileInputStream(file);
OutputStream os = new FileOutputStream(new File(root, fileFileName));文件数组只是看过,具体我也没用过
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式