当前位置:文档之家› Java文件上传下载

Java文件上传下载

主要方法介绍上传// 新建一个SmartUpload对象SmartUpload su = new SmartUpload();// 上传初始化su.initialize(pageContext);// 限制每个上传文件的最大长度。

su.setMaxFileSize(10000);// 限制总上传数据的长度。

su.setTotalMaxFileSize(20000);// 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。

su.setAllowedFilesList("doc,txt");// 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,//jsp,htm,html扩展名的文件和没有扩展名的文件。

su.setDeniedFilesList("exe,bat,jsp,htm,html,,");// 上传文件su.upload();// 将上传文件全部保存到指定目录int count = su.save("/upload");下载// 新建一个SmartUpload对象SmartUpload su = new SmartUpload();// 初始化su.initialize(pageContext);// 设定contentDisposition为null以禁止浏览器自动打开文件,//保证点击链接后是下载文件。

若不设定,则下载的文件扩展名为//doc时,浏览器将自动用word打开它。

扩展名为pdf时,//浏览器将用acrobat打开。

su.setContentDisposition(null);// 下载文件su.downloadFile("/upload/test.doc");***************************************************************************************************** *****************应用实例:用户只能上传图片格式的文件实例uploadimage.jsp<%@ page contentType="text/html;charset=gb2312" language="java"import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*, com.jspsmart.upload.*,java.util.*"%><%SmartUpload mySmartUpload =new SmartUpload();long file_size_max=4000000;String fileName2="",ext="",testvar="";String url="upload/"; //应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)//初始化mySmartUpload.initialize(pageContext);//只允许上载此类文件try {mySmartUpload.setAllowedFilesList("jpg,gif");//此处的文件格式可以根据需要自己修改//上载文件mySmartUpload.upload();} catch (Exception e){%><SCRIPT language=javascript>alert("只允许上传.jpg和.gif类型图片文件");window.location='upload.htm';</script><%}try{com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);if (myFile.isMissing()){%><SCRIPT language=javascript>alert("请先选择要上传的文件");window.location='upload.htm';</script><%}else{//String myFileName=myFile.getFileName(); //取得上载的文件的文件名ext= myFile.getFileExt(); //取得后缀名int file_size=myFile.getSize(); //取得文件的大小String saveurl="";if(file_size<file_size_max){//更改文件名,取得当前上传时间的毫秒数值Calendar calendar = Calendar.getInstance();String filename = String.valueOf(calendar.getTimeInMillis());saveurl=application.getRealPath("/")+url;saveurl+=filename+"."+ext; //保存路径myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL);out.print(saveurl);String ret = "parent.HtmlEdit.focus();";ret += "var range = parent.HtmlEdit.document.selection.createRange();" ;ret += "range.pasteHTML('<img src=\"" + request.getContextPath() + "/upload/" + filename + "." + ext + "\">');" ;ret += "alert('上传成功!');";ret += "window.location='upload.htm';";out.print("<script language=javascript>" + ret + "</script>");}}}catch (Exception e){out.print(e.toString());}%>upload.htm<html><head><title>请选择上传的图片</title></head><body><table border="0" align="center" cellpadding="0" cellspacing="0"><tr><td height="45" align="center" valign="middle"><form action="uploadimage.jsp"method="post" enctype="multipart/form-data" name="form1"><input type="file" name="file"><input type="submit" name="Submit" value="上传"></form></td></tr></table></body></html>以上代码可以粘贴直接使用,局部的地方可以根据自己的需要进行修改Upload上传下载全攻略一、安装篇适于嵌入执行上传下载操作的JSP文件中。

该组件有以下几个特点:1、使用简单。

在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。

2、能全程控制上传。

利用fileUpandDownload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。

3、能对上传的文件在大小、类型等方面做出限制。

如此可以滤掉不符合要求的文件。

4、下载灵活。

仅写两行代码,就能把Web服务器变成文件服务器。

不管文件在Web服务器的目录下或在其它任何目录下,都可以利用fileUpandDownload进行下载。

二、相关类说明篇一File类这个类包装了一个上传文件的所有信息。

通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息。

File类主要提供以下方法:1、saveAs作用:将文件换名另存。

原型:public void saveAs(ng.String destFilePathName)或public void saveAs(ng.String destFilePathName, int optionSaveAs)其中,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。

SAVEAS_PHYSICAL 表明以操作系统的根目录为文件根目录另存文件,SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL。

例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C 盘,则另存的文件名实际是c:\upload\sample.zip。

相关主题