2012-01-19 16 views
5

Używam Jersey do budowania usług RESTful i obecnie utknąłem na czymś, co, jak sądziłem, nie powinno być zbyt trudne.Jak mogę pobrać pobrany plik z Java i Jersey?

Udaje mi się pobrać plik, który chcę pobrać, ale nie wiem, jak go zapisać.

Szukałem odpowiedzi w Internecie, ale nie znalazłem nic przydatnego do wypełnienia luk w mojej wiedzy.

Czy możesz, proszę, dać mi hit, jak iść, aby zapisać plik w lokalizacji na HDD? Wszelkie próbki kodu będą wysoko cenione!

   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()); 

Dziękujemy!

+0

Czy próbowałeś używać klasy 'Plik'? – Viruzzo

+0

@ Viruzo: tak, bez względu na to, jak głupio to brzmi, nie udało mi się zapisać instancji File = – karla

+0

Czy umieścisz swój odpowiedni kod? – Viruzzo

Odpowiedz

10

dostałem odpowiedź na moje pytanie:

 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

Korzystanie Rest Easy klienta jest to, co zrobiłem.

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());