Как я могу сохранить загруженный файл с Java и Джерси?
Я использую Джерси для создания сервисов RESTful, и в настоящее время я застрял на чем-то, что, как я думал, не должно быть слишком сложным.
Мне удается получить файл, который я хочу загрузить, но я не знаю, как его сохранить.
Я искал ответы в Интернете, но не нашел ничего достаточно полезного, чтобы заполнить пробелы в моих знаниях.
Подскажите, пожалуйста, как мне сохранить файл в папке на жестком диске? Любые примеры кода будут высоко оценены!
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());
Спасибо!
2 ответа
Решение
Я получил ответ на мой вопрос:
File s= response.getEntity(File.class);
File ff = new File("C:\\somewhere\\some.txt");
s.renameTo(ff);
FileWriter fr = new FileWriter(s);
fr.flush();
Используя Rest easy Client, это то, что я сделал.
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());