最近看了一下jfinal
曾經用過 play 1
jfinal 對資料庫的相容性 相較 play 還是有一定的距離.
play是以model為準.不用運算元據庫
jfinal是以資料庫為準,基本不用操作model
jfinal的引數驗證方式比較繁瑣.play很優雅.jfinal controller方法不支援傳參.,play這個比較靈活.不管是日期,對像還是常用資料型別都支援
jfinal render() 之前 可能需要setarg() play render()引數名即可
jfinal 每個controller都需要對映路由. play有預設的路由規則.
當然..jfinal小巧,play相較jfinal 還是有些龐大.雖然已經很精簡了.
jfinal的檔案上傳用的是cos元件.
cos元件裡頭沒有提供像fileupload類似的 progresslistner
所以不方便拿到檔案上傳的進度
.一頓搜尋.沒見人解決過.
小人不才,看了一下cos上傳**..暴力解決 了一下.直接修改了cos的原始碼
修改如下:
修改 cos的 filepart 類:
新增了乙個本地靜態變數與介面
public inte***ce progress
public static threadlocalprogresss = new threadlocal();
修改了 filepart的
write(outputstream out)
long write(outputstream out) throws ioexception
long size=0;
int read;
byte buf = new byte[8 * 1024];
if(progresss.get()!=null)progresss.get().start();
while((read = partinput.read(buf)) != -1)
if(progresss.get()!=null)progresss.get().complate();
return size;
}
controller中使用例子:
filepart.progresss.set(new filepart.progress()
public void start()
public void complate()
});uploadfile file = getfile();
file.getfile();
列印結果:
0.16
0.33
0.49
0.66
0.82
0.99
1.15
1.32
1.48
等...........
單應用的情況下 將 進度值存入session,前台 ajax輪存獲取完成量即可
php ajax檔案上傳進度條
分為以下部分 demo.php 上傳過程處理 plain textphp include uploadprogres eter.class.php filewidget new uploadprogres eter if filewidget uploadcomplete demoserver.ph...
js 檔案上傳進度條
若想用jquery 中的ajax實現的話,jquery的 ajax 方法沒有關於 progress 事件的操作,此時需要呼叫的xmlhttprequest物件是指定progress 事件。ajax xmlhttprequest物件,傳送資料的時候,有乙個progress事件,用來返回進度資訊。上傳的...
js上傳檔案進度條
js部分data 上傳檔案 列表中的檔案上傳 fileuploadfun function event,index return var that this file event.target.files 0 if event.target.files.length 1 return that.lo...