jsp中使用SmartUpload上傳文件
1、下載jspSmartUpload組件后,解壓縮。把com目錄復制到應用程序的WEB-INF/classes目錄下。
2、尤其注意
(1)文件上傳表單要添加enctype="mult <form action="PRoduct_update_ok.jsp?p_id=<%= p_id %>" method="post" onSubmit="return check_product(this);" enctype="multipart/form-data"> (2)對于文件上傳表單,通過request對象無法獲得表單項的值,必須通過jspSmartUpload組件提供的Request類來獲取,如: String p_name=su.getRequest().getParameter("p_name"); 且該代碼要放在文件上傳代碼之后。 3、主要代碼 //新建上傳對象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();// 將上傳文件全部保存到指定目錄,必須保證images目錄在應用程序根文件夾中存在//int count = su.save("/images", su.SAVE_VIRTUAL); int count = su.save("/images");String p_image_temp="";if(count==1) //重新上傳了圖片{ com.jspsmart.upload.File file = su.getFiles().getFile(0);p_image_temp="images//"+file.getFileName();}else p_image_temp=(String)session.getAttribute("p_iamge"); //沒有重新上傳圖片 //獲取表單其他信息String p_id=su.getRequest().getParameter("p_id");String p_type=su.getRequest().getParameter("p_type");String p_name=su.getRequest().getParameter("p_name");String p_price=su.getRequest().getParameter("p_price");String p_quantity=su.getRequest().getParameter("p_quantity");String p_description=su.getRequest().getParameter("p_description");String p_time=String.valueOf(date.getMonth()+1)+"-"+date.getDate()+"-20"+String.valueOf(date.getYear()).substring(1);
新聞熱點
疑難解答