Depuis la version < 3.1 >
modifié par Paul Libbrecht (admin)
sur 2016/08/19 20:10
À la version 1.1 >
modifié par Paul Libbrecht (admin)
sur 2016/08/18 23:48
>
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Icon Propriétés de la Page
Contenu
... ... @@ -10,33 +10,25 @@
10 10  def page = request.getParameter("page");
11 11  Document pageDoc = null;
12 12  try {
13 - pageDoc = xwiki.getDocument(page);
13 + pageDoc = xwiki.getDocument(page);
14 14  } catch(Exception ex) {}
15 15  
16 16  if(page && pageDoc) {
17 17   System.err.println("Should download attachments from page ${pageDoc}.");
18 - def uncompressedMimes = ["image/jpeg", "image/png", "application/zip"];
19 - response.setContentType("application/zip");
20 - String name = pageDoc.getName();
21 - if(name=="WebHome") name = pageDoc.getSpace();
22 - response.addHeader("Content-Disposition", "attachment; filename=${name}_attachments.zip");
18 + //System.err.println("content: " + pageDoc.getContent());
19 + response.setContentType("application/zip; filename=${pageDoc.getName()}_attachments.zip");
20 + response.addHeader("Content-Disposition", "attachment");
23 23  
24 24  
25 25   ZipOutputStream out = null;
26 - System.err.println("Attachments list's size: ${pageDoc.document.attachmentList.size()}.");
24 + System.err.println("Attachments list: ${pageDoc.document.attachmentList.size()}.");
27 27   try {
28 28   out = new ZipOutputStream(response.getOutputStream());
29 29   for(Attachment att in pageDoc.getAttachmentList()) {
30 30   System.err.println("Outputting " + att.filename);
31 31   ZipEntry entry = new ZipEntry(att.filename);
32 - entry.setTime(att.getDate().getTime());
33 - entry.setSize(att.filesize);
34 - if(uncompressedMimes.contain(att.mimeType))
35 - entry.setMethod(ZipEntry.STORED);
36 - else
37 - entry.setMethod(ZipEntry.DEFLATED);
38 38   out.putNextEntry(entry);
39 - IOUtils.copy(att.contentInputStream, out, 5*1024*1024);
31 + IOUtils.copy(att.contentInputStream, out);
40 40   }
41 41   } catch (Exception ex) {
42 42   ex.printStackTrace();
... ... @@ -48,8 +48,8 @@
48 48  
49 49  } else {
50 50   println("""
51 -= Download Attachments Macro =
52 -Use as ((({{downloadAttachments/}}))) so see a list of attachments.
43 += Download Attachments =
44 +call this page with a parameter ``page`` set to the name of the page, it will put all attachments of that page in a single zip and download it.
53 53  """);
54 54  }
55 55  
This wiki is licensed under a Creative Commons 2.0 license
XWiki 13.10 - Documentation - Conditions