Java文件上传下载JspSmartUpload参考文档Word下载.docx

上传人:b****5 文档编号:18890539 上传时间:2023-01-02 格式:DOCX 页数:14 大小:20.85KB
下载 相关 举报
Java文件上传下载JspSmartUpload参考文档Word下载.docx_第1页
第1页 / 共14页
Java文件上传下载JspSmartUpload参考文档Word下载.docx_第2页
第2页 / 共14页
Java文件上传下载JspSmartUpload参考文档Word下载.docx_第3页
第3页 / 共14页
Java文件上传下载JspSmartUpload参考文档Word下载.docx_第4页
第4页 / 共14页
Java文件上传下载JspSmartUpload参考文档Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Java文件上传下载JspSmartUpload参考文档Word下载.docx

《Java文件上传下载JspSmartUpload参考文档Word下载.docx》由会员分享,可在线阅读,更多相关《Java文件上传下载JspSmartUpload参考文档Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

Java文件上传下载JspSmartUpload参考文档Word下载.docx

应用实例:

用户只能上传图片格式的文件实例

uploadimage.jsp

<

%@pagecontentType="

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.*"

%>

%

SmartUploadmySmartUpload=newSmartUpload();

longfile_size_max=4000000;

StringfileName2="

"

ext="

testvar="

;

Stringurl="

upload/"

//应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)

//初始化

mySmartUpload.initialize(pageContext);

//只允许上载此类文件

try{

mySmartUpload.setAllowedFilesList("

jpg,gif"

//此处的文件格式可以根据需要自己修改

//上载文件

mySmartUpload.upload();

}catch(Exceptione){

SCRIPTlanguage=javascript>

alert("

只允许上传.jpg和.gif类型图片文件"

window.location='

upload.htm'

/script>

}

try{

com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(0);

if(myFile.isMissing()){%>

请先选择要上传的文件"

%}

else{

//StringmyFileName=myFile.getFileName();

//取得上载的文件的文件名

ext=myFile.getFileExt();

//取得后缀名

intfile_size=myFile.getSize();

//取得文件的大小

Stringsaveurl="

if(file_size<

file_size_max){

//更改文件名,取得当前上传时间的毫秒数值

Calendarcalendar=Calendar.getInstance();

Stringfilename=String.valueOf(calendar.getTimeInMillis());

saveurl=application.getRealPath("

/"

)+url;

saveurl+=filename+"

."

+ext;

//保存路径

myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL);

out.print(saveurl);

Stringret="

parent.HtmlEdit.focus();

ret+="

varrange=parent.HtmlEdit.document.selection.createRange();

;

range.pasteHTML('

imgsrc=\"

+request.getContextPath()+"

/upload/"

+filename+"

+ext+"

\"

>

'

alert('

上传成功!

out.print("

scriptlanguage=javascript>

+ret+"

}catch(Exceptione){

out.print(e.toString());

upload.htm

html>

head>

title>

请选择上传的图片<

/title>

/head>

body>

tableborder="

0"

align="

center"

cellpadding="

cellspacing="

tr>

tdheight="

45"

valign="

middle"

formaction="

uploadimage.jsp"

method="

post"

enctype="

multipart/form-data"

name="

form1"

inputtype="

file"

submit"

Submit"

value="

上传"

/form>

/td>

/tr>

/table>

/body>

/html>

四SmartUpload类这个类完成上传下载工作。

A.上传与下载共用的方法:

只有一个:

initialize。

作用:

执行上传下载的初始化工作,必须第一个执行。

原型:

有多个,主要使用下面这个:

publicfinalvoidinitialize(javax.servlet.jsp.PageContextpageContext)

其中,pageContext为JSP页面内置对象(页面上下文)。

B.上传文件使用的方法:

1、upload

上传文件数据。

对于上传操作,第一步执行initialize方法,第二步就要执行这个方法。

publicvoidupload()

2、save

将全部上传文件保存到指定目录下,并返回保存的文件个数。

publicintsave(StringdestPathName)

和publicintsave(StringdestPathName,intoption)

其中,destPathName为文件保存目录,option为保存选项,它有三个值,分别是SAVE_PHYSICAL,SAVE_VIRTUAL和SAVE_AUTO。

(同File类的saveAs方法的选项之值类似)SAVE_PHYSICAL指示组件将文件保存到以操作系统根目录为文件根目录的目录下,SAVE_VIRTUAL指示组件将文件保存到以Web应用程序根目录为文件根目录的目录下,而SAVE_AUTO则表示由组件自动选择。

注:

save(destPathName)作用等同于save(destPathName,SAVE_AUTO)。

3、getSize

取上传文件数据的总长度

publicintgetSize()

4、getFiles

取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息。

publicFilesgetFiles()

5、getRequest

取得Request对象,以便由此对象获得上传表单参数之值。

publicRequestgetRequest()

6、setAllowedFilesList

设定允许上传带有指定扩展名的文件,当上传过程中有文件名不允许时,组件将抛出异常。

publicvoidsetAllowedFilesList(StringallowedFilesList)

其中,allowedFilesList为允许上传的文件扩展名列表,各个扩展名之间以逗号分隔。

如果想允许上传那些没有扩展名的文件,可以用两个逗号表示。

例如:

setAllowedFilesList("

doc,txt,,"

)将允许上传带doc和txt扩展名的文件以及没有扩展名的文件。

7、setDeniedFilesList

用于限制上传那些带有指定扩展名的文件。

若有文件扩展名被限制,则上传时组件将抛出异常。

publicvoidsetDeniedFilesList(StringdeniedFilesList)

其中,deniedFilesList为禁止上传的文件扩展名列表,各个扩展名之间以逗号分隔。

如果想禁止上传那些没有扩展名的文件,可以用两个逗号来表示。

setDeniedFilesList("

exe,bat,,"

)将禁止上传带exe和bat扩展名的文件以及没有扩展名的文件。

8、setMaxFileSize

设定每个文件允许上传的最大长度。

publicvoidsetMaxFileSize(longmaxFileSize)

其中,maxFileSize为为每个文件允许上传的最大长度,当文件超出此长度时,将不被上传。

9、setTotalMaxFileSize

设定允许上传的文件的总长度,用于限制一次性上传的数据量大小。

publicvoidsetTotalMaxFileSize(longtotalMaxFileSize)

其中,totalMaxFileSize为允许上传的文件的总长度。

C.下载文件常用的方法

1、setContentDisposition

将数据追加到MIME文件头的CONTENT-DISPOSITION域。

fileUpandDownload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。

publicvoidsetContentDisposition(StringcontentDisposition)

其中,contentDisposition为要添加的数据。

如果contentDisposition为null,则组件将自动添加"

attachment;

,以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。

2、downloadFile

下载文件。

共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。

①publicvoiddownloadFile(StringsourceFilePathName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名)

②publicvoiddownloadFile(StringsourceFilePathName,StringcontentType)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。

③publicvoiddownloadFile(StringsourceFilePathName,StringcontentType,StringdestFileName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。

三、文件上传篇

一表单要求

对于上传文件的FORM表单,有两个要求:

1、METHOD应用POST,即METHOD="

POST"

2、增加属性:

ENCTYPE="

下面是一个用于上传文件的FORM表单的例子:

FORMMETHOD="

ENCTYPE="

ACTION="

/fileUpandDownload/upload.jsp"

INPUTTYPE="

FILE"

NAME="

MYFILE"

SUBMIT"

/FORM>

 

二上传的例子

1、上传页面upload.html

本页面提供表单,让用户选择要上传的文件,点击"

按钮执行上传操作。

页面源码如下:

!

--

文件名:

upload.html

-->

DOCTYPEHTMLPUBLIC"

-//W3C//DTDHTML4.01Transitional//EN"

文件上传<

metahttp-equiv="

Content-Type"

content="

charset=gb2312"

p>

/p>

palign="

上传文件选择<

ACTION="

jsp/do_upload.jsp"

hidden"

TEST"

good"

<

tablewidth="

75%"

border="

1"

td>

divalign="

1、

FILE1"

size="

30"

/div>

2、

FILE2"

3、

FILE3"

4、

FILE4"

上传它!

2、上传处理页面do_upload.jsp

%--

文件名:

do_upload.jsp

--%>

import="

java.util.*,com.jspsmart.upload.*"

errorPage="

%>

文件上传处理页面<

//设定上传限制

//1.限制每个上传文件的最大长度。

//su.setMaxFileSize(10000);

//2.限制总上传数据的长度。

//su.setTotalMaxFileSize(20000);

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

//su.setAllowedFilesList("

//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,

jsp,htm,html扩展名的文件和没有扩展名的文件。

//su.setDeniedFilesList("

out.println(count+"

个文件上传成功!

br>

//利用Request对象获取参数之值

out.println("

TEST="

+su.getRequest().getParameter("

+"

BR>

//逐一提取上传文件信息,同时可保存文件。

for(inti=0;

i<

su.getFiles().getCount();

i++)

{

com.jspsmart.upload.Filefile=su.getFiles().getFile(i);

//若文件不存在则继续

if(file.isMissing())continue;

//显示当前文件信息

TABLEBORDER=1>

TR>

TD>

表单项名(FieldName)<

/TD>

+file.getFieldName()+"

/TR>

文件长度(Size)<

+

file.getSize()+"

文件名(FileName)<

+file.getFileName()+"

文件扩展名(FileExt)<

+file.getFileExt()+"

文件全名(FilePathName)<

+file.getFilePathName()+"

/TABLE>

//将文件另存

//file.saveAs("

+myFile.getFileName());

//另存到以WEB应用程序的根目录为文件根目录的目录下

+myFile.getFileName(),

su.SAVE_VIRTUAL);

//另存到操作系统的根目录为文件根目录的目录下

c:

\\temp\\"

su.SAVE_PHYSICAL);

四、文件下载篇

1、下载链接页面download.html

download.html

下载<

ahref="

jsp/do_download.jsp"

点击下载<

/a>

2、下载处理页面do_download.jspdo_download.jsp展示了如何利用fileUpandDownload组件来下载文件,从下面的源码中就可以看到,下载何其简单。

源码如下:

com.jspsmart.upload.*"

s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1