為什么頁面提交的流都是空格
<form action="UpdloadServlet"? method="post" enctype="multipart/form-data">
? ?? ??? ?請選擇圖片:<input? name="myfile" type="file" />
? ?? ??? ?<input type="submit" value="提交"? />${result}
? ?? ?</form>
<form action="UpdloadServlet"? method="post" enctype="multipart/form-data">
? ?? ??? ?請選擇圖片:<input? name="myfile" type="file" />
? ?? ??? ?<input type="submit" value="提交"? />${result}
? ?? ?</form>
2016-04-20
舉報
2016-10-10
是 SmartUpload 要導(dǎo)入其 jar 包,你的 form 的 action 應(yīng)該是?action="smartUploadServlet.do",而不是原來的?action="uploadServlet.do",注意 web.xml 的配置:
?<servlet>
? ? <servlet-name>SmartUploadServlet</servlet-name>
? ? <servlet-class>com.imooc.servlet.SmartUploadServlet</servlet-class>
? </servlet>
? <servlet-mapping>
? ? <servlet-name>SmartUploadServlet</servlet-name>
? ? <url-pattern>/smartUploadServlet.do</url-pattern>
? </servlet-mapping>
最后,SmartUploadServlet 類的 doPost方法應(yīng)該是這樣:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//設(shè)置上傳文件保存路徑
String filePath = getServletContext().getRealPath("/")+"images/";
File file = new File(filePath);
if(!file.exists()){
file.mkdir();
}
SmartUpload su = new SmartUpload();
//初始化對象
su.initialize(getServletConfig(), request, response);
//設(shè)置上傳文件大小
su.setMaxFileSize(1024*1024*10);
//設(shè)置所有文件的大小
su.setTotalMaxFileSize(1024*1024*100);
//設(shè)置允許上傳文件類型
su.setAllowedFilesList("txt,jpg,gif");
String result="上傳成功!";
//設(shè)置禁止上傳的文件類型
try{
? su.setDeniedFilesList("rap,jsp,js");
? //上傳文件
? su.upload();
??
? int count = su.save(filePath);
? System.out.println("上傳成功" + count + "個文件!");
??
}catch (Exception e) {
result = "上傳失??!";
if(e.getMessage().indexOf("1015") != -1){
result = "上傳失?。荷蟼魑募愋筒徽_!";
}else if(e.getMessage().indexOf("1010") != -1){
result = "上傳失敗:上傳文件類型不正確!";
}else if(e.getMessage().indexOf("1105") != -1){
result ="上傳失?。荷蟼魑募笮〈笥谠试S上傳的最大值!";
}else if(e.getMessage().indexOf("1110") != -1){
result ="上傳失敗:上傳文件總大小大于允許上傳總大小的最大值!";
}
e.printStackTrace();
}
for(int i=0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File tempFile = su.getFiles().getFile(i);
System.out.println("--------------------");
System.out.println("表單當中 name 的值:"+tempFile.getFieldName());
System.out.println("上傳文件名:"+tempFile.getFileName());
System.out.println("上傳文件的大?。?+tempFile.getSize());
System.out.println("上傳文件的拓展名:"+tempFile.getFileExt());
System.out.println("上傳文件全名:"+tempFile.getFilePathName());
System.out.println("--------------------");
}
request.setAttribute("result", result);
request.getRequestDispatcher("jsp/02.jsp").forward(request, response);
}
這樣就絕對不會錯了!