最近在寫自己的部落格網站,算是強化一下自己對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.最後從背景得到資料并展示