婷婷久久综合九色综合,欧美成色婷婷在线观看视频,偷窥视频一区,欧美日本一道道一区二区

<tt id="bu9ss"></tt>
  • <span id="bu9ss"></span>
  • <pre id="bu9ss"><tt id="bu9ss"></tt></pre>
    <label id="bu9ss"></label>

    當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

    簡單實用Java上傳文件進度條的實現(xiàn)方法

     2021-01-07 16:41  來源: 網(wǎng)絡(luò)綜合   我來投稿 撤稿糾錯

      阿里云優(yōu)惠券 先領(lǐng)券再下單

    東西很簡單,主要用到commons-fileupload,其中有一個progressListener的接口,該接口可以實現(xiàn)實時更新已上傳文件的大小,有了這個還說什么呢?

    這里給出代碼:

    package lc.progress;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import lc.progress.vo.fileUploadStatus;
    import org.apache.commons.fileupload.ProgressListener;
    public class myProgressListener implements ProgressListener {
      private HttpSession session;
      public myProgressListener(HttpServletRequest req) {
        session=req.getSession();
        fileUploadStatus status = new fileUploadStatus();
        session.setAttribute("status", status);
      }
      /* pBytesRead 到目前為止讀取文件的比特數(shù)
       * pContentLength 文件總大小
       * pItems 目前正在讀取第幾個文件
       * 只要在session中實時保存文件上傳的狀態(tài)(這里我用fileUploadStatus類來封裝)
       */
      public void update(long pBytesRead, long pContentLength, int pItems) {
        // TODO Auto-generated method stub
        fileUploadStatus status = (fileUploadStatus) session.getAttribute("status");
        status.setPBytesRead(pBytesRead);
        status.setPContentLength(pContentLength);
        status.setPItems(pItems);
      }
    }

    然后在上傳得servlet或action中加入這樣一段代碼,就可以把自定義的progressListener添加進去

    myProgressListener getBarListener = new myProgressListener(req);
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setProgressListener(getBarListener);

    最后就是通過js來不斷的訪問另一個servlet來實時返回上傳狀態(tài)就可以了,限于篇幅我就不再貼代碼了,有興趣的讀者可以自己下載來看。

    此外,這個代碼也可以參考一下:
    public static void main(String[] args) throws Exception {
        System.out.print("Progress:");
        for (int i = 1; i <= 100; i++) {
            System.out.print(i + "%");
            Thread.sleep(100);

            for (int j = 0; j <= String.valueOf(i).length(); j++) {
                System.out.print("\b");
            }
        }
        System.out.println();
    }

    申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

    相關(guān)標(biāo)簽
    java進度條

    相關(guān)文章

    熱門排行

    信息推薦