Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Http客户端进行请求,该请求返回内容类型为“的jsp页面”;应用程序/vnd.ms excel“;_Java_Spring_Spring Mvc - Fatal编程技术网

Java 使用Http客户端进行请求,该请求返回内容类型为“的jsp页面”;应用程序/vnd.ms excel“;

Java 使用Http客户端进行请求,该请求返回内容类型为“的jsp页面”;应用程序/vnd.ms excel“;,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个请求处理程序,它返回内容类型为“application/vnd.msexcel”id的jsp页面 我有另一个控制器,我使用HttpClient调用了上面的控制器,但我无法下载该文件 代码如下: 返回内容类型为excel的jsp文件的控制器 @RequestMapping(value = {"InvoiceGeneration/generatePDF"}, method=RequestMethod.GET) public String generatePDF

我有一个请求处理程序,它返回内容类型为“application/vnd.msexcel”id的jsp页面

我有另一个控制器,我使用HttpClient调用了上面的控制器,但我无法下载该文件

代码如下:

返回内容类型为excel的jsp文件的控制器

@RequestMapping(value = {"InvoiceGeneration/generatePDF"}, method=RequestMethod.GET)
                public String generatePDF(Model model)
                {

                }
使用Http客户端调用上述控制器的控制器

  @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文件下载响应????提前感谢

必须设置以下响应

         response.setContentType("application/octet-stream");
         or 
         response.setContentType("application/vnd.ms-excel");

         response.setHeader("Content-disposition", "inline;filename=" + fileName);

您正在调用的web服务生成PDF?无法将其神奇地转换为Excel文件。你的问题一点也不清楚。我不确定这是否重要,但你可能不想在
generateMonthPDF
中使用
@ResponseBody
。此外,您似乎将
内容类型
内容处置
添加到请求中,而不是在生成PDF的响应中。此外,从Apache HTTP客户端返回
HttpEntity
也没有用。您应该获得原始字节数组(或输入流)。