Uploadify是一个Jquery框架下处理批量文件上传的插件,支持多种服务器端软件。
问题:在使用uploadify进行文件上传时,由于需要对每个文件进行说明,而不仅仅是把文件上传至服务器。
解决思路及过程:使用插件上传时,如果需要传递参数,
第一种尝试是通过url进行传递,也就是通过uploadify中的uploader属性进行参数的添加。'uploader' : 'url&test='+$("#remark").html(),但是很奇怪这种写法在后台通过request.getParamter("test")就是获取不到值。这种方法行不通。
第二种尝试然后只能另找方式,通过formData进行传值,通过uploadify中的formData属性,进行传值。 'formData' : {'test1':$("#remark").html()}, 后台通过request.getParamter("test1")还是获取不到值。
第三种尝试在onUploadStart时添加一下代码,
onUploadStart:function(file){$("#file_upload"
).uploadify (
"settings"
,
"formData"
, {
'tmpdir':
$("#remark").html()},false);
}
结果第三种方法后台能够获取jsp中填写的值。到这里问题得到了解决,如果表单中还存在其他的需要提交的参数则可以使用第三种方法,通过settings进行设置。
注意:第一种第二种尝试如果直接把传递的参数写死,而不是从表单动态获取。这样的话后台是能够获取到值的。
总结:通过三种方式尝试,可以发现第一种和第二种方式通过dom获取表单元素的值时,那个时候是没有赋值的,所以这种情况只能通过第三种方法解决。