Java - Comprimir en java y descomprimir en javascript

   
Vista:

Comprimir en java y descomprimir en javascript

Publicado por Martin (2 intervenciones) el 24/09/2015 18:11:36
Hola,

He implementado un servicio rest full en java y lo consumo desde una aplicación que he realizado con jquery mobile. La app manda una petición y el servicio rest le devuelve un string. El problema es que he intentado comprimir de varias maneras el string con java en el servidor rest para luego descomprimir lo en la app con javascript y me a resultado imposible volver a leer el string tal como estaba antes de comprimir. Alguien a tenido este problema alguna vez? Conocéis alguna solución?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

Comprimir en java y descomprimir en javascript

Publicado por Vainas (2 intervenciones) el 25/09/2015 18:19:39
Buenas:

Nos puedes explicar como has intentado comprimirlo?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comprimir en java y descomprimir en javascript

Publicado por Martin (2 intervenciones) el 25/09/2015 18:44:36
Hola,

Lo he intentado con el ZipOutputStream, con el Deflat incluso con el GZIPOutputStream. También he intentado crear un datahandler y intentar comprimir lo, pero nada.


Aqui estan resumidos todos los intentos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
ZipOutputStream os = new ZipOutputStream(new FileOutputStream("respuesta.zip"));
//        ZipEntry entrada = new ZipEntry("respuesta.txt");
//        os.putNextEntry(entrada);
        String damepagina = damePagina(content);
//        byte[] b = damepagina.getBytes(Charset.forName("UTF-8"));
////        for(byte i : b){
////            if(i > -1)
////            os.write(b,0,i);
////        }
////        os.closeEntry();
////        os.close();
//        Deflater deflater = new Deflater();
//        deflater.setInput(b);
//        ByteArrayOutputStream outputStream = new ByteArrayOutputStream(b.length);
//        deflater.finish();
//        byte[] buffer = new byte[1024];
//        while (!deflater.finished()) {
//         int count = deflater.deflate(buffer); // returns the generated code... index
//         outputStream.write(buffer, 0, count);
//        }
////        os.flush();
//        outputStream.close();
//        byte[] output = outputStream.toByteArray();
        DataSource ds = new ByteArrayDataSource(damepagina, "text/plain; charset=UTF-8");
        DataHandler handler = new DataHandler(ds);
        ByteArrayOutputStream bos = new ByteArrayOutputStream(damepagina.length());
//        GZIPOutputStream gzip = new GZIPOutputStream(handler.getOutputStream());
//        gzip.write(damepagina.getBytes());
//        gzip.close();
        ZipInputStream os = new ZipInputStream(handler.getInputStream());
        ZipEntry entry = os.getNextEntry();
        os.close();
        //String compressed = bos.toString();
        //bos.close();
        return Response.ok(os, "application/x-zip-compressed").build();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar