Smartupload是由www.jspsmart.com網站開發的一套上傳組件包,可以輕松的實現文件的上傳及下載功能,smartupload組件使用簡單、可以輕松的實現上傳文件類型的限制、也可以輕易的取得上傳文件的名稱、后綴、大小等。
使用步驟
1)實例化
Smartupload su = new Smartupload();
2)初始化
su.initialize(pageContext);
這里的 pageContext 在 JSP頁面中是內置對象直接使用即可,
如果要在自定義類中使用pageContext
需要用 javax.servlet.jsp.JspFactory 類
具體代碼
JspFactory.getDefaultFactory().getPageContext(Servlet servlet, ServletRequest request, ServletResponse response, String errorPageURL, boolean needsSession, int buffer, boolean autoflush);
參數分別是
servlet: 請求的servlet,如果本身就是Servlet的派生類用this即可
request:請求對象,用於JSP傳輸就傳入一個 javax.servlet.http.HttpServletRequest 對象
response:響應對象,用於JSP傳輸就傳入一個 javax.servlet.http.HttpServletResponse 對象
errorPageURL:請求出錯是跳轉的界面,可用為空
needsSession:如果參與JSP會話就傳入true
buffer:緩沖區字節大小
autoflush:緩沖區溢出時應該自動刷新到輸出流,還是拋出IOException,為true則自動刷新
3)一些可設定的屬性
setCharset(String charset); // 設置編碼集
setMaxFileSize(long maxFileSize); // 設置最大文件大小
setTotalMaxFileSize(long totalMaxFileSize); // 設置允許上傳的文件的總長度
setAllowedFilesList(String allowedFileList); // 設置允許帶有指定擴展名的文件 用英文逗號 , 隔開
setDeniedFilesList(String deniedFilesList); //設置不允許帶有指定擴展名的文件 格式同上
4)上傳就緒
upload(); // 設定完屬性准備就緒
5)得到文件集
getFiles(); // 得到文件集 類名為com.jspsmart.upload.Files
Files類有某些方法如下
int getCount(); // 得到上傳文件數目
File getFile(int index); // 得到 index 索引處的File對象 注意 該File是 com.jspsmart.upload.File 不是 java.io.File 下面File都是指 com.jspsmart.upload.File
long getSize(); // 獲得上傳文件總長度
Collection getCollection(); // 文件對象以 Collection 形式返回 之后可用用循環遍歷
Enumeration getEnumeration(); // 文件對象以枚舉的形式返回
6)上傳
在得到目標 File 對象(就是你要上傳的對象)
調用 File 對象的 saveAs(String path); // 將文件存為 path 路徑,注意要加上文件名字
