บทความนี้อธิบายวิธีการใช้งานของการอัปโหลดแถบความคืบหน้าไฟล์ใน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
สิ่งนี้เป็นเรื่องง่ายมากโดยใช้คอมมอนส์-ฟิลด์อัปโหลดซึ่งมีอินเทอร์เฟซ ProgressListener ซึ่งสามารถปรับปรุงขนาดของไฟล์ที่อัปโหลดได้ตามเวลาจริง ฉันจะพูดอะไรได้อีก
นี่คือรหัส:
แพ็คเกจ lc.progress; นำเข้า Javax.servlet.http.httpservletRequest; นำเข้า Javax.servlet.http.httpsession; นำเข้า lc.progress.vo.fileuploadstatus; นำเข้า org.apache.Commons.fileupload. เซสชั่น httpsession; สาธารณะ MyProgressListener (httpservletRequest req) {session = req.getSession (); สถานะ fileUploadStatus = ใหม่ filePloadStatus (); session.setAttribute ("สถานะ", สถานะ); } / * pbytesread จำนวนไฟล์อ่านบิตจนถึงตอนนี้ * pcontentLength ขนาดไฟล์ทั้งหมด * pitems จำนวนไฟล์ที่กำลังอ่านอยู่ในขณะนี้ * เพียงบันทึกสถานะของการอัปโหลดไฟล์ในเซสชันแบบเรียลไทม์ สถานะ = (fileuploadstatus) เซสชัน. getAttribute ("สถานะ"); status.setpByTesRead (PBYTESREAD); status.setPcontentLength (PCOntentLength); status.setPitems (Pitems); -จากนั้นเพิ่มส่วนหนึ่งของรหัสลงในการอัปโหลด servlet หรือการกระทำและคุณสามารถเพิ่มความก้าวหน้าที่กำหนดเองได้
MyProgressListener getBarListener = ใหม่ MyProgressListener (REQ); ServletFilePilePload อัปโหลด = ใหม่ servletFileUpload (โรงงาน); upload.setProgressListener (getBarListener);
ในที่สุดฉันสามารถใช้ JS เพื่อเข้าถึง servlet อื่นอย่างต่อเนื่องเพื่อกลับไปที่สถานะการอัปโหลดแบบเรียลไทม์ เนื่องจากข้อ จำกัด ด้านพื้นที่ฉันจะไม่โพสต์รหัสอีกต่อไป ผู้อ่านที่สนใจสามารถดาวน์โหลดได้ด้วยตัวเอง
คลิกที่นี่เพื่อดาวน์โหลดรหัสตัวอย่างที่สมบูรณ์
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน