在REST服务中将excel文件设置为响应

时间:2014-10-18 13:08:57

标签: angularjs api rest dropwizard

我用下面的例子进行测试。 REST Api可以工作,但它以流格式提供结果。 但是,我希望结果与文件选项。我用这个例子来讨论Angular JS框架。

@GET
  @Path("/get")
  @Produces("application/vnd.ms-excel")
  public Response getFile() {
    LOG.info("get - Function begins from here");

    File file = new File("/home/test/file.xls");

    ResponseBuilder response = Response.ok((Object) file);
    response.header("Content-Disposition",
      "attachment; filename=new-excel-file.xls");
    response.header("Content-Type","application/octet-stream");
    return response.build();

  }

1 个答案:

答案 0 :(得分:1)

application / octet-stream在RFC 2046中定义为“任意二进制数据”,因此,如果该文件是excel,则response.header("Content-Type","application/octet-stream");

更改response.header("Content-Type","application/vnd.ms-excel");

查看关于八位字节流mime类型的this answer,可能有用,并且this one关于excel mime类型。