В этой статье поделились примеры упаковки файлов Javaweb и загрузки пакетов для вашей ссылки. Конкретный контент заключается в следующем
// ПАКТА Скачать неразрешенное задание @requestmapping (value = "/downloadhomework", method = requestmethod.get) public void downloadhomework (httpsession httpsession, httpservletrequest, httpservletresponse, string escienceid, int classcode) trows trows jeclebite {site site) jttpsesseponse) (сайт); String siteId = site.getId (); // Получение информации о работе на основе идентификатора задания назначение assionmentDetail = назначения servicews.getassignmentdetail (assionmentId); GENERATEPARAMETERS (agessmentDetail); // информация неполна и должна быть заполнена позже. List <sessingsmentsubmitlist = назначение servicews.getsubmitedassignmentStudent (assionmentId); // Получить All OpportId List <string> OpportIds = new ArrayList <String> (); for (int i = 0; i <assignmentsubmitlist.size (); i ++) {string opper = назначения usingubmitlist.get (i) .getId (); if (отправить == null || отправить == "") продолжить; supperids.add (отправить); } // Получить список сведений о отправке для (String A: отправить) {назначения as = agnesmentsersws.getsubmitassignment (a); назначения Ubmits.Add (as); } // назначить каждому студенту, который отправил назначение карту, имя пользователя-> Назначения, карта для (назначения UpsitionBmit: назначения Ubmits) {string studiud = assignmentsubmit.getusername (); StudentUbmitmap.put (StudentId, задание Upsubmit); } // Получить идентификатор учащегося всех учащихся в классе в соответствии с номером класса, а затем получите подробный список на основе списка идентификаторов учащегося <sessionmentsubmit> jestingStudentList = new ArrayList <SessingmentSubmit> (); Список <membervo> studentList = memberservicews.getstudents (siteId, classcode); для (MemberVo Student: StudentList) {String username = student.getId (); String realName = study.getName (); Назначения обработки назначения if (sturnyubmitmap.get (username)! = null) {assionmentsubmit = sturnyubmitmap.get (username); } assionmentsubmit.setRealName (realName); agesmentsubmit.setusername (имя пользователя); generatea (назначения); Расширение studentlist.Add (назначения -образной среды); } List <sessingmentsubmit> postictList = new ArrayList <sessingmentsubmit> (); для (назначения as: assignmentStudentList) {if (as.getGragePoint () == null && as.getAssignmentId ()! = null) preventistlist.add (as); } List <file> files = new ArrayList <file> (); File file = new File ("d: /css.rar"); if (! file.exists ()) {file.createnewfile (); } response.reset (); // response.getWriter () // Создать выходной поток файла FileOutputStream fus = new FileOutputStream (file); // В упакованном методе мы будем использовать выходной поток, такой как ZipOutputStream, поэтому здесь мы преобразуем выходной поток ZipOutputStream Zipout = new ZipoutputStream (Fous); для (назначения a: preditlist) {for (Attachids aa: a.getattachids ()) {try {string fileid = aa.getid (); String cloudfileurl = "http://xxx.xxx.xxx.xxx:8066/imageservice/downloadfile/"; String fileUrl = anevingerservice.getattachmentbyfileid (fileid) .geturlupload (); fileUrl = fileUrl.substring (fileUrl.lastIndexof ("/") + 1); fileUrl = cloudFileurl + fileUrl; String fileName = anevingerservice.getattachmentbyfileid (fileid) .getName (); // Получить имя файла удаленного файла. // response.addheader ("Контент-дисспозиция", "Attactment; filename =" + // new String (filename.getbytes ("gbk"), "iso-8859-1")); // iso-8859-1 Zipentry intry = new Zipentry (New String (fileName.getBytes ("gbk"), "iso-8859-1")); zipout.putnextentry (entry); Url urlfile = null; Httpurlconnection httpurl = null; urlfile = new URL (FileUrl); httpurl = (httpurlconnection) urlfile.openconcection (); httpurl.connect (); InputStream Downloadfile = httpurl.getInputStream (); int len = 0; byte [] buf = new Byte [1024]; while ((len = downloadfile.read (buf, 0, 1024))! = -1) {zipout.write (buf, 0, len); }} catch (jsonexception e) {e.printstacktrace (); } catch (unsupportEncodingexception e) {e.printstacktrace (); }}}} zipout.close (); fous.close (); Скачатьцип (файл, ответ); } // Сделайте все принятые файлы в сжатые пакеты публичные статические httpservletresponse downloadzip (файл файл, httpservletresponse response) {try {// Загрузить файл в форме потока. InputStream fis = new BufferedInputStream (new FileInputStream (file.getPath ())); byte [] buffer = new Byte [fis.aveable ()]; fis.read (buffer); fis.close (); // четкий ответ ответа ответа.reset (); OutputStream toclient = new BufferedOutputStream (response.getOutputStream ()); response.setContentType («Приложение/октет-поток»); // Если выход-это файл с китайским именем, вы должны использовать метод urlencoder.encode для обработки response.setheader ("content-disposition", "Attachment; filename =" + urlencoder.encode (file.getName (), "utf-8")); toclient.write (буфер); toclient.flush (); toclient.close (); } catch (ioException ex) {ex.printstackTrace (); } наконец {try {file f = new File (file.getPath ()); f.delete (); } catch (Exception e) {e.printstackTrace (); }} возвратный ответ; }Адрес блога! http://oldriver.top/ Техническое руководство старых водителей
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.