Téléchargez le Fichier Zip à travers HttpResponse Java

Donc je passe d'une collection d'objets blob dans une base de données (différents types mime) et en essayant de zip à être téléchargées par les utilisateurs par le biais d'une réponse http. Je peux obtenir le téléchargement arrive, mais quand j'essaie d'ouvrir le fichier zip téléchargé, il dit: "L'archive est au format inconnu ou endommagé." J'ai essayé le code suivant avec application/zip, application/octet-stream, et de l'application/x-zip compressé, mais je commence à supposer que le problème est dans la façon dont je suis en ajoutant les fichiers. Je suis aussi à l'aide de Java 7 et Graal 2.2.4.

L'aide de ce serait grandement apprécié. Merci!

  final ZipOutputStream out = new ZipOutputStream(new FileOutputStream("test.zip"));


        for (Long id : ids){

            Object[] stream = inlineSamplesDataProvider.getAttachmentStream(id);


            if (stream) {

                String fileName = stream[0]
                String mimeType = (String) stream[1];
                InputStream inputStream = stream[2]
                byte[] byteStream = inputStream.getBytes();

                ZipEntry zipEntry = new ZipEntry(fileName)
                out.putNextEntry(zipEntry);
                out.write(byteStream, 0, byteStream.length);
                out.closeEntry();
            }
        }

        out.close();
        response.setHeader("Content-Disposition", "attachment; filename=\"" + "test.zip" + "\"");
        response.setHeader("Content-Type", "application/zip");
        response.outputStream << out;
        response.outputstream.flush();
cela semble plus ou moins fines, au moins la façon dont vous écrivez le fichier devrait fonctionner. avez-vous essayé d'exécuter ce code et enregistrez le fichier sur le disque pour voir si vous pouvez l'ouvrir, avant de l'envoyer sur le fil.
Merci pour la réponse, Shaun. Je l'ai téléchargé directement à mon ordinateur et j'ai pu l'ouvrir sans problème. Je suppose que cela signifie que le problème réside dans la façon dont je suis le pousser dans la réponse?

OriginalL'auteur Brewster | 2015-10-19