乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

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

      簡(jiǎn)單實(shí)用Java上傳文件進(jìn)度條的實(shí)現(xiàn)方法

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

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

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

      這里給出代碼:

      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 到目前為止讀取文件的比特?cái)?shù)
         * pContentLength 文件總大小
         * pItems 目前正在讀取第幾個(gè)文件
         * 只要在session中實(shí)時(shí)保存文件上傳的狀態(tài)(這里我用fileUploadStatus類(lèi)來(lái)封裝)
         */
        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添加進(jìn)去

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

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

      此外,這個(gè)代碼也可以參考一下:
      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();
      }

      申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

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

      相關(guān)文章

      熱門(mén)排行

      信息推薦