JSP实用教程:的上传.ppt
JSP中的文件操作:文件的上传授课教师:姬广永软件工程学院学习目标 掌握在项目开发中如何使用第三方组件掌握在项目开发中如何使用第三方组件 1 一次可以上传多个文件一次可以上传多个文件ii 防止上传文件重名被覆盖防止上传文件重名被覆盖iii 使用使用jspSmartUploadjspSmartUpload组件实现文件上传组件实现文件上传2限制只能上传图片限制只能上传图片i重点、难点重点、难点jspSmartUpload组件介绍jspSmartUpload是一个免费的文件上传下载组件是一个免费的文件上传下载组件 v使用简单使用简单:仅三五行代码就可以搞定文件的上传下载。仅三五行代码就可以搞定文件的上传下载。v方便存取方便存取:利用组件提供的对象,可以获得全部上传文利用组件提供的对象,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件件的信息(包括文件名,大小,类型,扩展名,文件数据等)。数据等)。v能对上传的文件在大小、类型等方面做出限制能对上传的文件在大小、类型等方面做出限制。如此。如此可以滤掉不符合要求的文件。可以滤掉不符合要求的文件。将下载的组件jsmartcom_zh_CN.jar存放到:WEB-INFlib下jspSmartUpload组件下载地址:http:/ SmartUpload su=new SmartUpload();n su.initialize(pageContext);/上传初始化上传初始化n su.upload();/准备上传文件准备上传文件nsu.save(/upload);/将上传文件保存到指定目录将上传文件保存到指定目录n out.print(文件上传成功);引入所需要的类引入所需要的类 需在需在web服务目录的根目服务目录的根目录建立录建立upload文件夹文件夹获取上传文件的信息/创建创建File类的对象以获取上传文件的信息类的对象以获取上传文件的信息com.jspsmart.upload.File file=su.getFiles().getFile(0);out.println(文件长度:文件长度:+file.getSize()+);out.println(文件名:文件名:+file.getFileName()+);out.println(文件扩展名:文件扩展名:+file.getFileExt()+);%限制上传文件的类型1案例案例1:能够能够上传任意类型上传任意类型的文件的文件2案例案例2:限制限制上传文件的类上传文件的类型型改进改进改进改进?案例2:只能上传图片格式文件n文件上传页面:文件上传页面:upload_image.htmln上传文件处理页面:上传文件处理页面:image_upload.jsp改进:只能上传图片格式文件image_upload.jspnnnalert(只允许上传只允许上传.jpg/.gif/.png/.bmp类型图片文件类型图片文件);nwindow.location=upload_image.html;nnalert(请先选择要上传的文件请先选择要上传的文件);window.location=upload_image.html;%nelsenout.println(你上传的图片是你上传的图片是:);n ncatch(Exception e)n out.print(e.toString();n n%文件重名引发的问题?1.jpg1.jpg服务器服务器服务器服务器上传上传上传上传解决方法n防止文件重名被覆盖的解决方法:防止文件重名被覆盖的解决方法:?改进:一次可以上传多个文件upload.htmln文件上传页面:文件上传页面:upload.htmldo_upload.jspn%nSmartUpload su=new SmartUpload();nsu.initialize(pageContext);/上传初始化nsu.upload();/上传文件nint count=su.save(/upload);nout.println(count+个文件上传成功!);逐一提取上传文件信息nfor(int i=0;isu.getFiles().getCount();i+)nFile file=su.getFiles().getFile(i);nif(file.isMissing()continue;/若文件不存在则继续若文件不存在则继续nout.println(文件长度:文件长度:+file.getSize()+);nout.println(文件名:文件名:+file.getFileName()+);nout.println(文件扩展名:文件扩展名:+file.getFileExt();nout.print(“-);nn%jspSmartUpload的其他功能1.限制每个上传文件的最大长度。限制每个上传文件的最大长度。su.setMaxFileSize(10000);2.限制总上传数据的长度。限制总上传数据的长度。su.setTotalMaxFileSize(20000);3.设定允许上传的文件(通过扩展名限制)设定允许上传的文件(通过扩展名限制)su.setAllowedFilesList(doc,txt);4.设定禁止上传的文件(通过扩展名限制)。设定禁止上传的文件(通过扩展名限制)。su.setDeniedFilesList(exe,bat,jsp);思考与习题:习题习题 1习题习题 2习题习题 3从网上找从网上找1-2常用组件,常用组件,并实现相应并实现相应功能。功能。阅读阅读jspSmartUpload组件功能组件功能说明,实现说明,实现文件下载功文件下载功能。能。写一个实现动态写一个实现动态下载文件的下载文件的JSP程序(用程序(用户能够选择户能够选择(或指定)下(或指定)下载文件)。载文件)。本章结束,谢谢大家!教师:姬广永学习网站:中国网页设计增强:防止文件重名被覆盖的解决方法repeat_upload.jspnn