使用jspSmartUpload实现文件的上传与下载

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!!!

你可能感兴趣的:(html,Web,jsp)