Thinking

          快樂編程,開心生活
          posts - 21, comments - 27, trackbacks - 0, articles - -5
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          來自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

          一個(gè)可以有其他頁面引用的進(jìn)度條頁面:
          ?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中增加如下對(duì)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>

          評(píng)論

          # re: 利用DWR實(shí)現(xiàn)文件上傳進(jìn)度條  回復(fù)  更多評(píng)論   

          2009-06-16 17:36 by shenw
          很不錯(cuò)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 肃北| 枝江市| 安新县| 邳州市| 贡嘎县| 读书| 崇义县| 班玛县| 保康县| 原阳县| 德安县| 仁怀市| 田阳县| 丁青县| 大方县| 揭西县| 德安县| 连山| 天全县| 海门市| 台中市| 阳新县| 吴桥县| 叙永县| 宁武县| 遂宁市| 舒兰市| 龙川县| 花莲县| 枞阳县| 延安市| 鹿泉市| 当阳市| 大方县| 忻州市| 万荣县| 东海县| 盐城市| 二连浩特市| 岗巴县| 江安县|