gpt4 book ai didi

java - 使用 Restful 服务下载 zip 文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:20 25 4
gpt4 key购买 nike

我正在尝试使用restful 服务在java 中创建并下载zip 文件。但它不适合我。请找到下面的代码:

        @GET
@Path("/exportZip")
@Produces("application/zip")
public Response download(@QueryParam("dim") final String dimId,
@QueryParam("client") final String clientId,
@QueryParam("type") final String type,
@Context UriInfo ui) {
System.out.println("Start");

ResponseBuilder response = null ;

String filetype = "";

if(type.equalsIgnoreCase("u")){
filetype = "UnMapped";

}else if(type.equalsIgnoreCase("m")){
filetype = "Mapped";

}
try {

byte[] workbook = null;
workbook = engineService.export(dim, client, type);

InputStream is = new ByteArrayInputStream(workbook);

FileOutputStream out = new FileOutputStream(filetype + "tmp.zip");

int bufferSize = 1024;
byte[] buf = new byte[bufferSize];
int n = is.read(buf);
while (n >= 0) {
out.write(buf, 0, n);
n = is.read(buf);
}

response = Response.ok((Object) out);

response.header("Content-Disposition",
"attachment; filename=\"" + filetype + " - " + new Date().toString() + ".zip\"");

out.flush();
out.close();


catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("End");
return response.build();
}

这给了我以下错误:javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:未找到 Java 类 java.io.FileOutputStream 和 Java 类型类 java.io.FileOutputStream 和 MIME 媒体类型 application/zip 的消息正文编写器

最佳答案

您尚未添加响应的 MIME 类型。您的浏览器在处理此响应时会感到困惑。它需要响应内容类型。要为您的响应设置响应内容类型,请添加以下代码,

          response.setContentType("application/zip");

之后

          response = Response.ok((Object) out);

谢谢。

关于java - 使用 Restful 服务下载 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23057566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com