"简洁高效的jspSmartUpload文件上传下载组件"

需积分: 3 3 下载量 146 浏览量 更新于2024-03-12 收藏 84KB DOC 举报
jspSmartUpload是一个由www.jspsmart.com网站开发的全功能文件上传下载组件,适用于嵌入执行上传下载操作的JSP文件中。该组件的特点包括使用简单、能全程控制上传、能对上传文件做出限制、灵活的下载功能以及能将文件上传到数据库中,也能将数据库中的数据下载下来。使用该组件仅需书写少量的JAVA代码,就可以完成文件的上传和下载操作,非常方便。利用jspSmartUpload提供的对象和操作方法,可以获取全部上传文件的信息,包括文件名、大小、类型、扩展名等,方便存取。同时,也可以对上传的文件在大小、类型等方面做出限制,滤除不符合要求的文件。另外,仅需写两行代码,就能将Web服务器变成文件服务器,无论文件在Web服务器的目录下还是在其他任何目录下,都可以利用jspSmartUpload进行下载。此外,还可以将文件上传到数据库中,以及从数据库中将数据下载下来。jspSmartUpload组件可以自由下载,压缩包的名字是jspSmartU。由于不具有通用性,本文不准备介绍将文件上传到数据库中的用法。 总结:jspSmartUpload是一个简单易用的全功能文件上传下载组件,特点包括使用简单、全程控制上传、对上传文件做出限制、灵活的下载功能以及能将文件上传到数据库中,也能将数据库中的数据下载下来。通过少量的JAVA代码,可以完成文件的上传和下载操作,非常方便。通过该组件提供的对象和操作方法,可以获取全部上传文件的信息,包括文件名、大小、类型、扩展名等,方便存取。同时,也可以对上传的文件在大小、类型等方面做出限制,滤除不符合要求的文件。另外,通过少量代码,可以将Web服务器变成文件服务器,无论文件在Web服务器的目录下还是在其他任何目录下,都可以利用该组件进行下载。此外,还可以将文件上传到数据库中,以及从数据库中将数据下载下来。jspSmartUpload组件可以自由下载,压缩包的名字是jspSmartU。由于不具有通用性,本文不准备介绍将文件上传到数据库中的用法。
2012-10-15 上传
<form action="add_do.jsp" name="formlft" method="post" ENCTYPE="multipart/form-data" check(this)">
date: <input type="text" name="checkdate" size="12" readonly=true></td> type: <select name="csttype" class="tex" > <option value=""></option> <option value="A">A</option> <option value="B">B</option> </select> Record:   <select name="reporter" class="tex"> <option value="Doris">Doris</option> <option value="Nancy">Nancy</option> <option value="Michelle">Michelle</option> </select>  
No. ID Reason Remark Status op
1 <input type="text" name="id1" size="8"></TD> <textarea name="reason1" rows="3" cols="14" ></textarea> <textarea name="remark1" rows="3" cols="14" ></textarea> <select name="status1" <option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select> <textarea name="op1" rows="3" cols="10" ></textarea> <input type="file" name="file1" size="10" ></TD>
2 <input type="text" name="id2" size="8"></TD> <textarea name="reason2" rows="3" cols="14"></textarea> <textarea name="remark2" rows="3" cols="14"></textarea> <select name="status2" <option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select> <textarea name="op2" rows="3" cols="10"></textarea> <input type="file" name="file2" size="10" ></TD>
3 <input type="text" name="id3" size="8"></TD> <textarea name="reason3" rows="3" cols="14"></textarea> <textarea name="remark3" rows="3" cols="14"></textarea> <select name="status3" <option value=""></option> option value=""></option> <option value="OK">OK</option> <option value="NG">NG</option> </select> <textarea name="op3" rows="3" cols="10"></textarea> <input type="file" name="file2" size="10" ></TD>
 
上传附件: <input type="file" class="bginput" name="attachment_array[]"></td> 
<input type="submit" name="Submit" value="提交"></td> <input type="reset" name="reset" value="重置"></td>
</form> <%@ page import="java.text.*"%> <jsp:useBean id="jdbc" class="com.Jdbc_conn" scope="page" /> <%long today = System.currentTimeMillis(); java.util.Date todayime = new java.util.Date(today); SimpleDateFormat formatter = new SimpleDateFormat("yyMMddHHmmss"); String todaydate = formatter.format(todayime); //新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); //上传初始化 su.initialize(pageContext); //设定上传限制 //1.限制每个上传文件的最大长度。 //su.setMaxFileSize(10000); //2.限制总上传数据的长度。 //su.setTotalMaxFileSize(20000); //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 //su.setAllowedFilesList("doc,txt"); //4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。 su.setDeniedFilesList("exe,bat,jsp,htm,html,,"); //上传文件 su.upload(); //将上传文件全部保存到指定目录 int count = su.save("/upload"); out.println(count+"个文件上传成功!
"); String attachsourcename=""; String newfilename=""; String save=""; for (int j=0;j<su.getFiles().getCount();j++) { com.jspsmart.upload.File file = su.getFiles().getFile(j); // 若文件不存在则继续 if (file.isMissing()) continue; //显示当前文件信息 //另存到操作系统的根目录为文件根目录的目录下 实际的路径 attachsourcename=file.getFileName(); double a=Math.random(); Double d=new Double(a); String s=d.toString(); newfilename=todaydate+s.substring(2,6)+"."+file.getFileExt(); save="D:\\\\Workspace\\\\PM\\\\WebApp\\\\upload\\\\" +newfilename; file.saveAs(save,su.SAVE_PHYSICAL); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println("
表单项名(FieldName)"+ file.getFieldName() + "
文件长度(Size)" + file.getSize() + "
文件名(FileName)" + file.getFileName() + "
文件扩展名(FileExt)" + file.getFileExt() + "
文件全名(FilePathName)"+ file.getFilePathName() + "
实际路径"+ getServletContext().getRealPath("/") + "
下载 " + file.getFileName() + "

"); //out.println(agvid); } Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url = "jdbc:oracle:thin:@10.20.32.87:1521:XMCSHIS"; String user = "michelle"; String password = "michelle"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); try{ for(int i=1;i<=3;i++){ String checkdate=su.getRequest().getParameter("checkdate"); String csttype=su.getRequest().getParameter("csttype"); String cstid=su.getRequest().getParameter("" + "cstid"+i + ""); String reason=su.getRequest().getParameter("" + "reason"+i + ""); String remark=su.getRequest().getParameter("" + "remark"+i + ""); String status=su.getRequest().getParameter("" + "status"+i + ""); String op=su.getRequest().getParameter("" + "op"+i + ""); String reporter=su.getRequest().getParameter("reporter"); if(cstid.equals("")) {break;} String SQL="insert into michelle.Table1(checkdate ,type ,id,reason ,op ,remark ,attachsourcename ,newfilename ,reporter ,status )" +" values('"+checkdate+"','"+type+"',UPPER('"+id+"'),'"+reason+"','"+op+"','"+remark+"','"+attachsourcename+"','"+newfilename+"','"+reporter+"','"+status+"')"; //out.print(SQL); //out.println(11144); //stmt.executeUpdate(SQL); } out.println("保存记录成功!"); } catch(Exception ex){ out.println(" 保存记录失败!Error Info:
"+ex.getMessage()+"


返回上一页"); //out.println("sql.executeUpdate:"+ex.getMessage()); }