jspSmartUpload是一款免费且简单易用的上传下载组件,具有非常实用的价值,下面笔者通过一个简单的例子(如图1-1所示)对jspSmartUpload组件的使用一个简单的实现。
图 1-1 添加商品信息
将准备好的jspSmartUpload JAR包复制到项目WebRoot根目录下的WEB-INF目录的lib目录中。
为表单添加属性“enctype”,其属性值为“multipart/form-data”,如下所示:
<form name="form1" method="post" action="doUpload.jsp" enctype="multipart/form-data"></form>
执行代码:
<% // 设置编码格式 request.setCharacterEncoding(“GBK”); // 实例化SmartUpload对象 SmartUpload su = new SmartUpload(); // 限制每个上传文件的最大长度 su.setMaxFileSize(10000); // 限制总上传数据的长度 su.setTotalMaxFileSize(20000); // 通过扩展名限制允许上传的文件 su.setAllowedFilesList("jpg,jpeg,gif,png"); // 通过扩展名限制禁止上传的文件 su.setDeniedFilesList("exe,bat,jsp,htm,html,txt"); // 将上传的文件保存到指定目录(项目的根目录WebRoot下的image中) su.save("/image"); // 开始上传 su.upload(); // 取到每个上传文件 File file = su.getFiles().getFile(0); // 获取上传文件的名称 String picName = file.getFileName(); // 设置上传文件存放在项目的根目录WebRoot下的image中 file.saveAs("/image/" + picName, su.SAVE_VIRTUAL); %>
在获取表单元素时需要使用SmartUpload对象的getParameter()方法,而不是直接直接通过request获得,如下所示:
<% String cmdNo = su.getRequest().getParameter("txtCmdNo"); // 商品编号 String cmdName = su.getRequest().getParameter("txtCmdName"); // 商品名称 String cmdType = su.getRequest().getParameter("txtType"); // 商品类型 String cmdModel = su.getRequest().getParameter("txtModel"); // 商品型号 String cmdBrand = su.getRequest().getParameter("txtBrand"); // 商品品牌 double cmdPrice = Double.parseDouble(su.getRequest().getParameter("txtCmdPrice")); // 商品价格 String cmdPic = picName; // 上传图片的文件名 String cmdDesc = su.getRequest().getParameter("txtDesc"); // 商品描述 %>
一点拙见,Over!!!