"简洁高效的jspSmartUpload文件上传下载组件"
需积分: 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)">
</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(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());
}
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> |
"); 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("
表单项名(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("
"+ex.getMessage()+"
返回上一页
2008-12-11 上传
2008-04-28 上传
2013-07-26 上传
点击了解资源详情
2019-03-17 上传
445 浏览量
eagle94
- 粉丝: 0
- 资源: 16
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南