jspsmart實現文件上傳下載及

首先下載jspSmartUpload.jar文件,將文件放在Tomcat的lib文件夾工程目錄的web-inf/lib文件夾中。

上傳

// 新建一個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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章