最近在寫自己的部落格網站,算是強化一下自己對s2sh架構的了解。期間遇到了很多問題,這些問題在寫之前都考慮過,感覺也就是那樣吧。但正真遇到了,也挺讓人難受的。就利用zyUpload這個js插件實作檔案的上傳, 我來談一談。

說明:zyUpload 配合Strus2實作圖檔或檔案的上傳
(1)zyFile.js,lanrenzhijia.js,zyUpload.js設定 url : "fileUploadAction!execute", // 上傳檔案的路徑
(2)檔案的上傳通過 zyFile.js中的funUploadFile函數,修改formdata.append("upload", file) file對應的name屬性值,這裡是"upload",保證和背景的name屬性值一樣!上傳的代碼如下:
(3)缺陷就是隻能單個檔案上傳!用的是FormData對象,利用ajax技術,每次上傳都要請求背景。
(4)zyFile.js中的一些接口都是在zyUpload.js中實作!
下面是zyFile.js中的一些接口
zyFile.js中filterFile給外部提供的函數接口在 zyUpload.js可以找到,用來進行檔案的過濾!對于filterFile這個借口,實作如下(當然,你可以根據自己的需求自己來實作,我這裡隻是想上傳圖檔檔案而已):
String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); 得到請求項目的位址,如http://localhost:8080/myBlog;
String fileName = System.currentTimeMillis()+getUploadFileName().get(0)+
getUploadContentType().get(0).replace("/", "."); 生成唯一檔案名稱。
String realPath = ServletActionContext.getServletContext().getRealPath(savePath);得到圖檔的存儲位址
picturePath = url+savePath+"/"+fileName;得到圖檔的src位址
1.上傳後,無論是失敗還是成功,都可以通過ajax從背景得到!
2.最後從背景得到資料并展示