У меня есть один обработчик запросов, который возвращает страницу jsp с типом содержимого «application/vnd.ms-excel» id.Использование Http-клиента для запроса, который возвращает страницу jsp с типом контента «application/vnd.ms-excel»
У меня есть еще один контроллер, в котором я назвал выше контроллера с помощью HttpClient, но я не в состоянии загрузить файл
код выглядит следующим образом:
контроллер, который возвращает Jsp файл, который имеет первенствовать тип, содержание
@RequestMapping(value = {"InvoiceGeneration/generatePDF"}, method=RequestMethod.GET)
public String generatePDF(Model model)
{
}
контроллер, который вызывает выше контроллера с помощью HTTP Client
@RequestMapping(value = {"InvoiceGeneration/generateMonthPDF"}, method=RequestMethod.GET)
@ResponseBody
public HttpEntity generateMonthPDF(Model model){
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet("http://localhost:8080/BillingInvoice/InvoiceGeneration/generatePDF?invoiceNumber=10");
getRequest.addHeader("Content-Type", "application/vnd.ms-excel");
getRequest.addHeader("Content-Disposition","attachment; filename=\""+"kedar.xls"+"\"");
HttpResponse response = httpClient.execute(getRequest);
return response.getEntity();
}
Как получить ответ как файл с файлом excel ???? Заранее спасибо
Веб-сервис вы звоните генерирует PDF? Невозможно магически преобразовать это в файл Excel. Ваш вопрос не совсем ясен. –
Я не уверен, если это имеет значение, но вы, вероятно, не хотите, чтобы '@ ResponseBody' в' generateMonthPDF'. Кроме того, вы, кажется, добавляете «Content-Type» и «Content-Disposition» к запросу, а не в ответ, генерирующий PDF-файл. – NilsH
Кроме того, нет необходимости возвращать HttpEntity из Apache HTTP Client. Вы должны получить массив исходных байтов (или входной поток). – NilsH