国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

使用smartupload組件實(shí)現(xiàn)jsp+jdbc上傳下載文件實(shí)例解析

2024-05-06 16:34:21
字體:
供稿:網(wǎng)友

SmartUpload組件只有5個(gè)分別是:File、Files、Request、SmartUpload、SmartUploadException類,其中,F(xiàn)ile代表用戶上傳的文件,F(xiàn)iles代表用戶上傳的多個(gè)文件,Request相當(dāng)于HttpServletRequest的功能,用于獲取表單數(shù)據(jù),SmartUpload是最核心的類,負(fù)責(zé)文件上傳下載,SmartUploadException是自定義異常。

   SmartUpload的基本使用思路如下:

jsp前臺(tái)代碼表單提交

<form action="" method="post" name="form1" onSubmit="r" enctype="multipart/form-data"> <input type="file" name="img" size="34"></td> </form> 
//創(chuàng)建SmartUpload的實(shí)例 SmartUpload su = new SmartUpload(); //初始化,如果是在Servlet中使用,則調(diào)用另一個(gè)重載方法:initialize(ServletConfig, HttpServletRequest, HttpServletResponse) su.initialize(pageContext); //完成上傳操作 su.upload(); //將上傳的文件保存到指定的文件夾。參數(shù)1表示文件保存的路徑,參數(shù)2是可選選項(xiàng) su.save("uploads/", SmartUpload.SAVE_VIRTUAL); 

在save方法中,有三個(gè)常量:SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO,意義分別是:

SAVEAS_PHYSICAL表明以操作系統(tǒng)的根目錄為文件根目錄另存文件,SAVEAS_VIRTUAL表明以Web應(yīng)用程序的根目錄為文件根目錄另存文件,SAVEAS_AUTO則表示讓組件決定,當(dāng)Web應(yīng)用程序的根目錄存在另存文件的目錄時(shí),它會(huì)選擇SAVEAS_VIRTUAL,否則會(huì)選擇SAVEAS_PHYSICAL。   

 如果希望給文件重命名(這是經(jīng)常遇到的問題),可以調(diào)用File類的saveAs方法保存單個(gè)的文件,代碼如下: 

SmartUpload su = new SmartUpload(); su.initialize(pageContext); //指定擴(kuò)展名 su.setAllowedFilesList("bmp,jpg,bng,gif"); //指定大小 su.setMaxFileSize(1 * 1024 * 1024); su.upload(); //單獨(dú)保存文件,用UUID名稱保存 Files files = su.getFiles(); for(int i = 0; i < files.getCount(); i ++){  File f = files.getFile(i);  if(!f.isMissing()){  //保存單個(gè)文件,參數(shù)1為文件名,參數(shù)2為可選選項(xiàng)。  f.saveAs("uploads/" +    UUID.randomUUID().toString() + "." +   f.getFileExt(),   SmartUpload.SAVE_VIRTUAL);  } } 

 使用SmartUpload實(shí)現(xiàn)文件下載就更簡(jiǎn)單了,不再直接和數(shù)據(jù)流打交道,非常貼心的設(shè)計(jì)。SmartUpload定義了一個(gè)名為downloadFile()的方法,該方法的參數(shù)指定要下載的文件即可。當(dāng)然,在此之前要先調(diào)用setContentDisposition(null),參數(shù)為null表示告知瀏覽器下載文件。代碼如下:  

SmartUpload su = new SmartUpload(); su.initialize(pageContext); su.setContentDisposition(null); //表示這是一個(gè)下載操作 su.downloadFile("uploads/fa79a56a-5e64-407d-a22b-8606d512b447.jpg"); 

smartupload組件包下載地址:http://download.csdn.net/detail/qq_24886937/9729267

以上所述是小編給大家介紹的使用smartupload組件實(shí)現(xiàn)jsp+jdbc上傳下載文件實(shí)例解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 和龙市| 九龙城区| 榕江县| 常熟市| 霍城县| 昌都县| 绍兴市| 洛宁县| 会宁县| 长春市| 织金县| 华坪县| 额济纳旗| 鸡泽县| 泽库县| 德江县| 金门县| 安西县| 灌云县| 遵义市| 兖州市| 临泽县| 寻甸| 闸北区| 大冶市| 宜兰县| 乌审旗| 汨罗市| 凤凰县| 登封市| 获嘉县| 景宁| 堆龙德庆县| 乐山市| 张家港市| 额敏县| 来宾市| 延安市| 西充县| 澄迈县| 大宁县|