2012-01-19 25 views
5

Uso Jersey para la construcción de servicios RESTful y actualmente estoy atrapado en algo que, pensé, no debería ser demasiado difícil.¿Cómo puedo almacenar un archivo descargado con Java y Jersey?

Logro obtener el archivo que quiero descargar, pero no sé cómo guardarlo.

Busqué respuestas en la web, pero no encontré nada lo suficientemente útil como para llenar los vacíos que yo sepa.

¿Puede, por favor, darme un golpe de cómo continuar para guardar el archivo en una ubicación en el disco duro? ¡Cualquier muestra de código será muy apreciada!

   Client client = Client.create(); 

      WebResource imageRetrievalResource = client 
        .resource("http://server/"); 
      WebResource wr=imageRetrievalResource.path("instances/attachment"); 
       MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); 
       queryParams.add("item", "1"); 

       Builder wb=wr.accept("application/json,text/html,application/xhtml+xml,application/xml"); 

       client.addFilter(new HTTPBasicAuthFilter("user","pass")); 

       ClientResponse response= wr.queryParams(queryParams).get(ClientResponse.class); 

       String s= response.getEntity(String.class); 
       System.out.println(response.getStatus()); 

¡Gracias!

+0

¿Has probado con la clase 'File'? – Viruzzo

+0

@Viruzo: sí, no importa cuán estúpido parezca, no logré guardar el archivo instancia = – karla

+0

¿Puedes publicar tu código relevante? – Viruzzo

Respuesta

10

Tengo la respuesta a mi pregunta:

 File s= response.getEntity(File.class); 
     File ff = new File("C:\\somewhere\\some.txt"); 
     s.renameTo(ff); 
     FileWriter fr = new FileWriter(s); 
     fr.flush(); 
0

Usando Resto cliente fácil que esto es lo que hice.

String fileServiceUrl = "http://localhost:8081/RESTfulDemoApplication/files"; 
    RestEasyFileServiceRestfulClient fileServiceClient = ProxyFactory.create(RestEasyFileServiceRestfulClient.class,fileServiceUrl); 

    BaseClientResponse response = (BaseClientResponse)fileServiceClient.getFile("SpringAnnontationsCheatSheet.pdf"); 
    File s = (File)response.getEntity(File.class); 
    File ff = new File("C:\\RestFileUploadTest\\SpringAnnontationsCheatSheet_Downloaded.pdf"); 
    s.renameTo(ff); 
    FileWriter fr = new FileWriter(s); 
    fr.flush(); 
    System.out.println("FileDownload Response = "+ response.getStatus()); 
Cuestiones relacionadas