+ -
当前位置:首页 → 问答吧 → 上传下载时enctype="multipart/form-data" 的问题

上传下载时enctype="multipart/form-data" 的问题

时间:2011-12-20

来源:互联网

使用jspsmart上传下载文件。上传页面使用了enctype="multipart/form-data",本页面的select的值就总是选中第一个,不能变化了,是怎么回事呢?
(select选中值写了一个类,在别的页面用的好好的)
如果不使用enctype="multipart/form-data",则select选中值可以变化。但是要上传下载文件,所以不能去掉enctype="multipart/form-data"。

作者: shiyan0634   发布时间: 2011-12-20

你说的不能变化,是后台得到的值吗?

作者: im110   发布时间: 2011-12-20

引用 1 楼 im110 的回复:
你说的不能变化,是后台得到的值吗?

是吧
select总是获取第一个值,无法改变。

作者: shiyan0634   发布时间: 2011-12-20

应该不会有这种问题。你看看程序是不是哪里把值改变了。

作者: im110   发布时间: 2011-12-20

引用楼主 shiyan0634 的回复:
使用jspsmart上传下载文件。上传页面使用了enctype="multipart/form-data",本页面的select的值就总是选中第一个,不能变化了,是怎么回事呢?
(select选中值写了一个类,在别的页面用的好好的)

那是你用enctype不能传别的值,好像只能数字,英文不知道可不可以,你那个类是判断他,然后选中你判断的那个?我看你还是用数字代表select 值传算了 ,我以前也遇到过这种问题,纠结了好久、。。。

作者: a794588330   发布时间: 2011-12-20

不明白你的不能变化是什么意思

不过一般如果你表单指定了enctype="multipart/form-data" 浏览器会把未经过编码的表单内容提交给服务器 而上传组件不仅仅是处理上传文件 而是从这些原始流中将实际提交的参数逐个剥离出来
所以 你不能使用传统的方式来获取参数(request.getParameter无法再获得到参数) 必须通过上传组件提供给你的函数去获取参数

作者: BearKin   发布时间: 2011-12-20

SmartUpload smartupload = new SmartUpload();

String name= smartupload.getRequest().getParameter("name")

作者: a794588330   发布时间: 2011-12-20

引用 5 楼 bearkin 的回复:

不明白你的不能变化是什么意思

不过一般如果你表单指定了enctype="multipart/form-data" 浏览器会把未经过编码的表单内容提交给服务器 而上传组件不仅仅是处理上传文件 而是从这些原始流中将实际提交的参数逐个剥离出来
所以 你不能使用传统的方式来获取参数(request.getParameter无法再获得到参数) 必须通过上传组件提供给你的函数去获取参数

楼上说的很对,lz再去试试。

作者: yuanxiao27   发布时间: 2011-12-20