版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jspSmartUpload是由 传组件,适于嵌入执行上传操作的JSP文件中。该组件有以下几个特点:1使用简单在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或方便、 下,都可以利用jspSmartUpload进行。、数据库,因为不具有通用性,所以本文备举例介绍这种用法jspSmartUpload组件可以 上自由,压缩包的名字jspSmartUpload.zip。后,用WinZip或WinRAR将其解压到Tomcat的 (Tomcat服务器为例进行介绍webapps/jspsmartupload下的子目Web应用程序相关的类所在为WEB-INFTomcatJSPjspSmartUpload组件了。注意,按上述方法安装后,只有webapps/jspsmartupload 下的程序可以使用 下JAR打包命令:jarcvfjspSmartUpload.jar(也可以打开资源管理器,切换到当 ,用WinZip将 下的所有文件压缩将jspSmartUpload.jar拷贝到Tomcat的shared/lib FileFile1、saveAs作用:将文件换名另存。publicvoidsaveAs(java.lang.String或publicvoidsaveAs(java.lang.StringdestFilePathName,int其中,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是表明以操作系统的根为文件根另存文件,SAVEAS_VIRTUALWeb应用程序的根为文件根另存文件,SAVEAS_AUTOWeb应用程序的根存在另存文件的时,它会选择SAVEAS_VIRTUAL,否则会选择 saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/upload/sample.zip。saveAs("/upload/sample.zip",SAVEAS_AUTO)执行时若Web应用程序根 下存在upload目录,则其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否则同falsetrue。原型:publicbooleanisMissing()HTML表单中对应于此上传文件的表单项的名字。原型:publicStringgetFieldName()4、 原型:publicStringgetFileName()作用:取文件全名( 原型:publicStringgetFilePathName原型:publicStringgetFileExt()原型:publicintgetSize()8、Files1、原型:publicintgetCount()2、意区分3、原型:publiclonggetSize()4、原型:publicCollectiongetCollection()原型:publicEnumerationRequestJSPrequest。只所以提供这个类,是因为对于文件上1、原型:publicStringgetParameter(Stringname)。其中,name2、null。原型:publicString[]getParameterValues(Stringname)。其中,name3、原型:publicEnumeration㈣SmartUpload类这个类完成上传工作publicfinalvoidinitialize(javax.servlet.jsp.PageContext其中,pageContextJSP页面内置对象(页面上下文initialize原型:publicvoidupload()2、 原型:publicintsave(StringdestPathName)publicintsave(StringdestPathName,intdestPathName为文件保存目录,option为保存选项,它有三个值,分别是SVE_PHYSICAL的的3、原型:publicintgetSize()4、原型:publicFilesgetFiles()Request对象,以便由此对象获得上传表单参数之值。原型:publicRequestgetRequest()6、原型:publicvoidsetAllowedFilesList(Stringdoctxt扩展名的文件以及没有扩展名的文件。7、原型:publicvoidsetDeniedFilesList(String其中,deniedFilesList为上传的文件扩展名列表,各个扩展名之间以逗号分隔。如果想setDeniedFilesList("xe,bat,,")将上传带exe和bat扩展名的文件以及没有扩展名的文件8、原型:publicvoidsetMaxFileSize(long9、原型:publicvoidsetTotalMaxFileSize(longtotalMaxFileSize)其中,totalMaxFileSizeC.文件常用的方1、原型:publicvoidsetContentDisposition(String是自动打开这个文件(IE浏览器一般根据的文件扩展名决定执行什么操作,扩展名为docWordpdfacrobat程序打开,等等。2、作用:文件①publicvoiddownloadFile(String其中,sourceFilePathName为要的文件名( 的文件全名②publicvoiddownloadFile(StringsourceFilePathName,String (MIME格式的文件类型信息,可被浏览器识别 (MIME格式的文件类型信息,可被浏览器识别),destFileName为后默认的另存文件FORMFORM<FORMMETHOD="POST"ENCTYPE="multipart/form-data"<INPUTTYPE="FILE"<INPUT1、上传页面作者:软件制作中心 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<metahttp-equiv="Content-Type"content="text/html;<palign="center">上传文件选择<FORMMETHOD="POST"ACTION="jsp/do_upload.jsp"<inputtype="hidden"name="TEST"<tablewidth="75%"border="1"<td><divalign="center">1<inputtype="FILE"name="FILE1"<td><divalign="center">2<inputtype="FILE"name="FILE2"<td><divalign="center">3<inputtype="FILE"name="FILE3"<td><divalign="center">4<inputtype="FILE"name="FILE4"<td><div<inputtype="submit"name="Submit"value="作者:软件制作中心 <%@pagecontentType="text/html;charset=gb2312"language="java"import="java.util.*,com.jspsmart.upload.*"errorPage=""%><metahttp-equiv="Content-Type"content="text/html;//SmartUploadSmartUploadsu=new////1.//2.//3.设定允许上传的文件(通过扩展名限制),doc,txt////4.设定上传的文件(通过扩展名限制),上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。//////intcount=su.save("/upload");//Request//for(int{com.jspsmart.upload.Filefile=//if(file.isMissing())//+file.getFieldName()+"</TD></TR>");out.println("<TR><TD>文件长度(Size)</TD><TDfile.getSize()+"</TD></TR>");+file.getFileName()+"</TD></TR>");+file.getFileExt()++file.getFilePathName()+"</TD></TR>");////file.saveAs("/upload/"+//另存到以WEB应用程序的 为文件 //file.saveAs("/upload/"+myFile.getFileName(),//另存到操作系统的 为文件 //file.saveAs("c:\\temp\\"+myFile.getFileName(),}四、文件1、页面作者:软件制作中心 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<title><metahttp-equiv="Content-Type"content="text/html;<ahref="jsp/do_download.jsp">点击2处理页面do_download.jspdo_download.jsp展示了如何利用jspSmartUpload组件来下<%@pagecontentType="text/html;charset=gb2312"import="com.jspsmart.upload.*"%><%//SmartUploadSmartUploadsu=new////设定contentDisposition为null以浏览器自动打开文件//保证点击后是文件。若不设定,则的文件扩展名//docwordpdf//浏览器将用acrobat//文3、如何中文文)UTF-8编码后,浏览器便能正确显示中文名字了。这是一个令人高兴的发现。于是我对jspSmartUpload组件的SmartUpload类做了升级处理,增加了toUtf8StringpublicvoiddownloadFile(Strings,Strings1,Strings2,inti)throwsServletException,IOException,SmartUploadException{if(s==thrownewIllegalArgumentException("File'"+s+"'notfound(1040).");thrownewIllegalArgumentException("File'"+s+"'notfound(1040).");if(!isVirtual(s)&&thrownewSecurityException("Physicalpathisdenied(1035).");s=m_application.getRealPath(s);java.io.Filefile=newjava.io.File(s);FileInputStreamfileinputstream=newFileInputStream(file);longl=file.length();booleanflag=false;intk=0;byteabyte0[]=newbyte[i];if(s1==null)if(s1.length()==m_contentDisposition=m_contentDisposition!=null?m_contentDisposition:"attaent;";if(s2==m_contentDisposition+"filename="+if(s2.length()==0)
m_contentDisposition+"filename="+toUtf8String(s2));while((long)k<{intj=fileinputstream.read(abyte0,0,i);k+=j;m_response.getOutputStream().write(abyte0,0,}}将文件名中的汉字转为UTF8编码的串,以便时能正确显示另存的文件名*软件制作中心@params@returnpublicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){}else{byte[]b;try{b=Character.toString(c).getBytes("utf-}catch(Exceptionex){b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0)k+=sb.append("%"+Integer.toHexString(k).}}}return}UTF-8形式的编码形式。UTF-8编码对英文未作任何处理,对中文则需要转换为%XX的形式。toUtf8StringJava语言提供的编码转换UTF-8编码,之后将其转换为%XX的形式。jspSmartUpload.jarTomcatshared/lib(WEB应用程序所共享,然后重启Tomcat服务器就可以正常含有中文名字的文件了。另,toUtf8String方法也可用于转换含有中文的超级以保证的有效因为有的WEB服try
}catch(Exceptione2)//TODOAuto-generatedcatchblock}PrintWriterout=response.getWriter();SmartUploadsu=newSmartUpl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校图书馆外包管理方案
- 小学科学实验活动方案
- 2024年个人房屋租赁合同样本
- 教育培训机构质量管理方案
- 心肌梗死急救护理流程
- 环境监测实验室施工设计方案
- 高中学习方法指导模板
- 济宁学院《工程测量学》2021-2022学年第一学期期末试卷
- 济宁学院《符号与传播》2021-2022学年第一学期期末试卷
- 济宁学院《电力系统分析》2021-2022学年期末试卷
- 书法知识基础理论单选题100道及答案解析
- 2024年中国两轮电动车社区充电行业研究报告 -头豹
- 建筑工地突发事件处理预案
- 医学教程 胆囊癌诊治课件
- 第六单元测试卷-2024-2025学年统编版语文三年级上册
- 绿化养护续签合同申请书范文
- 教科(2024秋)版科学三年级上册2.6 我们来做“热气球”教学设计
- 山西省运城市2024-2025学年高二上学期10月月考英语试题
- 4.3《课间》 (教案)-2024-2025学年一年级上册数学北师大版
- 【班主任工作】2024-2025学年秋季安全主题班会教育周记录
- 2024-2030年街舞培训行业市场发展分析及发展趋势前景预测报告
评论
0/150
提交评论