前段时间做从客户端上传图片到服务器,本来想自己写一段程序来上传图片的,不过那样做太麻烦了,就选择用上传控件(jspSmartUpload)来做。
选择用这个控件,本来一切进行的很顺利的,感觉这个控件还是蛮好用的。由于要上传图片,就在FORM表单中加了ENCTYPE="multipart/form-data"属性,这个属性表示表单内容是以二进制发送(提交),接收的时候要用Request.BrinaryRead()(具体
方法
三言两语说不清除,请参阅有关资料),而不能用Request.Form()来接收表单内容,而request("name")相当于Request.Form("name"),不行。需要用
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.initialize(pageContext);
su.getRequest.getParameter("name");
来得到FORM中其他组件的值,我本来也是这样做的,可是得到的参数值还是为NULL,我很疑惑,在网上查了很多资料,终于知道了问题的根源所在,原来得到FORM中其他组件的值必须要在调用su.upload()方法之后用,终于解决了这些问题!
在这次的教训中,在使用控件的时候一定要先了解它,看一些它的文档。这样会在实际应用中减少很多不必要的麻烦!