设置内容类型的响应

时间:2015-01-12 16:41:35

标签: file servlets download zip content-type

写入后是否可以更改响应的内容类型。

我要求将响应写入.txt文件。如果有任何错误,它应该只返回zip文件而不是.txt,以便让最终用户了解失败。

但即使我在异常的情况下将内容类型设置为zip文件,它也无法正常工作。

1 个答案:

答案 0 :(得分:0)

没有。您可以构建zip(没有编写任何标题或任何响应),然后最后,如果成功,将内容类型写为zip并将其打印到响应,如果不是,则将txt写入内容类型并打印您的错误消息。

的伪代码:

Zip zip = null;
try
{
  zip = buildZip();
}
catch(Exception ex)
{
   response.setContentType("text/html");
   response.getOutputStream().print("Error");
   return;
}
response.setContentType("application/zip");
response.setHeader("Content-disposition", "attachment; filename=zipfile.zip");
zip.print(response.getOutputStream());