smartupload實(shí)現(xiàn)文件上傳時(shí)獲取表單數(shù)據(jù)(推薦)
實(shí)現(xiàn)文件上傳的form表單必須滿足兩個(gè)條件:method="post" enctype="multipart/form-data"
表單中enctype="multipart/form-data"的意思是設(shè)置表單的MIME編碼。默認(rèn)情況,這個(gè)編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù)。enctype="multipart/form-data"是上傳二進(jìn)制數(shù)據(jù); form里面的input的值以二進(jìn)制的方式傳過去。所以request就得不到值了, 也就是說加了這段代碼,用request就會(huì)傳遞不成功。
取表單字段值時(shí),用下面的方式:
SmartUpload su = new SmartUpload(); //新建一個(gè)SmartUpload對(duì)象 su.getRequest().getParameterValues(String name); //取數(shù)組值 su.getRequest().getParameter(String name); //取單個(gè)參數(shù)單個(gè)值
注:在使用SmartUpload時(shí)需要添加相應(yīng)的jar包
String softname=su.getRequest().getParameter("softname");
注意:一定要在su.upload();,之后使用,才可以獲得值?。?/span>
<span style="font-size:14px;">public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
SmartUpload mySmartUpload = new SmartUpload();
try{
// Initialization
mySmartUpload.initialize(config,request,response);
mySmartUpload.setMaxFileSize(10*1024*1024);//限制上傳文件的大小
//mySmartUpload.setAllowedFilesList("txt,html,jpg,js");//設(shè)置允許上傳的文件類型
mySmartUpload.setDeniedFilesList("exe,doc");//設(shè)置禁止上傳的文件列表
mySmartUpload.upload();
String hString = mySmartUpload.getRequest().getParameter("name1");
//System.out.println(hString);
//System.out.println(mySmartUpload.getFiles().getCount());
for(int i = 0 ;i <mySmartUpload.getFiles().getCount();i++){//多個(gè)文件的上傳
File file = mySmartUpload.getFiles().getFile(i);
if(file.getSize()!=0){
//拼湊上傳文件的新名稱
String fileNameString = System.currentTimeMillis()+"."+file.getFileExt();
//通過servlet的實(shí)際路徑拼湊上傳文件的保存路徑,實(shí)際使用需要修改此路徑
String path = "/upload123123"+java.io.File.separator+fileNameString;
file.saveAs(path);
}
Thread.sleep(100);
/*下載文件的語句
mySmartUpload.downloadFile("/路徑"+"文件名稱");*/
}
}catch(Exception e){
e.printStackTrace();
}
}</span>
相關(guān)文章
json對(duì)象與數(shù)組以及轉(zhuǎn)換成js對(duì)象的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨son對(duì)象與數(shù)組以及轉(zhuǎn)換成js對(duì)象的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
JavaScript對(duì)象數(shù)組如何按指定屬性和排序方向進(jìn)行排序
這篇文章主要介紹了JavaScript對(duì)象數(shù)組如何按指定屬性和排序方向進(jìn)行排序的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
jQuery判斷密碼強(qiáng)度實(shí)現(xiàn)思路及代碼
實(shí)現(xiàn)思路為:密碼小于六位的時(shí)候,密碼強(qiáng)度圖片都為灰色;密碼為七位及以上并且字母、數(shù)字、特殊字符三項(xiàng)中有兩項(xiàng),強(qiáng)度等等,感興趣的朋友可以參考下哈2013-04-04
js的函數(shù)的按值傳遞參數(shù)(實(shí)例講解)
下面小編就為大家分享一篇js的函數(shù)的按值傳遞參數(shù)的實(shí)例,具有很好的參考價(jià)值,一起跟隨小編過來看看吧,希望對(duì)大家有所幫助2017-11-11
requirejs按需加載angularjs文件實(shí)例
本篇文章主要介紹了requirejs按需加載angularjs文件實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
JavaScript中Array對(duì)象用法實(shí)例總結(jié)
這篇文章主要介紹了JavaScript中Array對(duì)象用法,結(jié)合實(shí)例形式總結(jié)分析了Array數(shù)組對(duì)象的常用屬性與方法的功能與相關(guān)使用技巧,需要的朋友可以參考下2016-11-11

