<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Thinking

    快樂編程,開心生活
    posts - 21, comments - 27, trackbacks - 0, articles - -5
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    利用DWR實現文件上傳進度條

    Posted on 2007-02-07 14:28 lixw 閱讀(3605) 評論(1)  編輯  收藏
    來自telio.be的JS:

    ?1/*?Licence:
    ?2*???Use?this?however/wherever?you?like,?just?don't?blame?me?if?it?breaks?anything.
    ?3*
    ?4*?Credit:
    ?5*???If?you're?nice,?you'll?leave?this?bit:
    ?6*
    ?7*???Class?by?Pierre-Alexandre?Losson?--?http://www.telio.be/blog
    ?8*???email?:?plosson@users.sourceforge.net
    ?9*/

    10function?refreshProgress()
    11{
    12????UploadMonitor.getUploadInfo(updateProgress);
    13}

    14
    15function?updateProgress(uploadInfo)
    16{
    17????if?(uploadInfo.inProgress)
    18????{
    19????????document.getElementById('uploadbutton').disabled?=?true;
    20????????document.getElementById('file1').disabled?=?true;
    21
    22????????var?fileIndex?=?uploadInfo.fileIndex;
    23
    24????????var?progressPercent?=?Math.ceil((uploadInfo.bytesRead?/?uploadInfo.totalSize)?*?100);
    25
    26????????document.getElementById('progressBarText').innerHTML?=?'upload?in?progress:?'?+?progressPercent?+?'%';
    27
    28????????document.getElementById('progressBarBoxContent').style.width?=?parseInt(progressPercent?*?3.5)?+?'px';
    29
    30????????window.setTimeout('refreshProgress()',?1000);
    31????}

    32????else
    33????{
    34????????document.getElementById('uploadbutton').disabled?=?false;
    35????????document.getElementById('file1').disabled?=?false;
    36????}

    37
    38????return?true;
    39}

    40
    41function?startProgress()
    42{
    43????document.getElementById('progressBar').style.display?=?'block';
    44????document.getElementById('progressBarText').innerHTML?=?'upload?in?progress:?0%';
    45????document.getElementById('uploadbutton').disabled?=?true;
    46
    47????//?wait?a?little?while?to?make?sure?the?upload?has?started?..
    48????window.setTimeout("refreshProgress()",?1500);
    49????return?true;
    50}

    51

    一個可以有其他頁面引用的進度條頁面:
    ?1<%
    ?2????String?path?=?request.getContextPath();
    ?3????String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    ?4%>
    ?5<script?src="<%=basePath%>common/js/upload.js">?</script>
    ?6<script?src="<%=basePath%>dwr/interface/UploadMonitor.js">?</script>
    ?7<script?src="<%=basePath%>dwr/engine.js">?</script>
    ?8<script?src="<%=basePath%>dwr/util.js">?</script>
    ?9<style?type="text/css">
    10????body?{?font:?11px?Lucida?Grande,?Verdana,?Arial,?Helvetica,?sans?serif;?}
    11????#progressBar?{?padding-top:?5px;?}
    12????#progressBarBox?{?width:?350px;?height:?20px;?border:?1px?inset;?background:?#eee;}
    13????#progressBarBoxContent?{?width:?0;?height:?20px;?border-right:?1px?solid?#444;?background:?#9ACB34;?}
    14</style>
    15
    16<div?id="progressBar"?style="display:?none;">
    17????<div?id="theMeter">
    18????????<div?id="progressBarText"></div>
    19????????<div?id="progressBarBox">
    20????????????<div?id="progressBarBoxContent"></div>
    21????????</div>
    22????</div>
    23</div>

    在dwr.xml?中的配置:

    ?1<?xml?version="1.0"?encoding="UTF-8"?>
    ?2<!DOCTYPE?dwr?PUBLIC?"-//GetAhead?Limited//DTD?Direct?Web?Remoting?2.0//EN"?
    ?3"http://getahead.ltd.uk/dwr/dwr20.dtd">
    ?4<dwr>
    ?5????<allow>
    ?6????????<create?creator="new"?javascript="UploadMonitor"?scope="script">
    ?7????????????<param?name="class"?value="be.telio.mediastore.ui.upload.UploadMonitor"/>
    ?8????????</create>
    ?9????????<convert?converter="bean"?match="be.telio.mediastore.ui.upload.UploadInfo"/>
    10????</allow>
    11</dwr>

    在web.xml中增加如下對DwrServlet的配置:

    ?1<servlet>
    ?2????<servlet-name>dwr-invoker</servlet-name>
    ?3????<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    ?4????<init-param>
    ?5??????<param-name>debug</param-name>
    ?6??????<param-value>false</param-value>
    ?7????</init-param>
    ?8????<init-param>
    ?9??????<param-name>pollAndCometEnabled</param-name>
    10??????<param-value>true</param-value>
    11????</init-param>
    12????<init-param>
    13??????<param-name>allowGetForSafariButMakeForgeryEasier</param-name>
    14??????<param-value>true</param-value>
    15????</init-param>
    16????<load-on-startup>2</load-on-startup>
    17??</servlet>
    18
    19??<servlet-mapping>
    20????<servlet-name>dwr-invoker</servlet-name>
    21????<url-pattern>/dwr/*</url-pattern>
    22??</servlet-mapping>

    評論

    # re: 利用DWR實現文件上傳進度條  回復  更多評論   

    2009-06-16 17:36 by shenw
    很不錯

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 思思re热免费精品视频66| 亚洲偷自拍拍综合网| 亚洲精品视频在线| 免费精品久久天干天干| 亚洲中文字幕第一页在线| 一级毛片成人免费看a| 亚洲AⅤ视频一区二区三区| 亚洲国产成人AV网站| 两个人看www免费视频| 久久精品国产精品亚洲下载| 一级做a毛片免费视频| 亚洲精品乱码久久久久久不卡| 特级毛片爽www免费版| 99国产精品永久免费视频| 亚洲成aⅴ人片在线观| 成人免费午夜无码视频| 亚洲精品无码mv在线观看网站| 亚洲男同gay片| 免费看片免费播放| 真正全免费视频a毛片| 亚洲精品成人片在线观看| 两个人www免费高清视频| 最好免费观看韩国+日本 | 国产福利免费在线观看| 国产精品亚洲色图| 亚洲综合色婷婷七月丁香| 免费视频成人手机在线观看网址| 久久精品亚洲精品国产色婷| 一级毛片人与动免费观看| 337p日本欧洲亚洲大胆裸体艺术| 日韩精品免费视频| 亚洲综合av永久无码精品一区二区| 美女巨胸喷奶水视频www免费| 久久久久亚洲av无码专区| 免费视频中文字幕| 中文成人久久久久影院免费观看 | 日韩在线视频线视频免费网站| 精品亚洲综合在线第一区| 成人免费大片免费观看网站| 亚洲AV综合色区无码一二三区 | 国精产品一区一区三区免费视频 |