写入后是否可以更改响应的内容类型。
我要求将响应写入.txt文件。如果有任何错误,它应该只返回zip文件而不是.txt,以便让最终用户了解失败。
但即使我在异常的情况下将内容类型设置为zip文件,它也无法正常工作。
答案 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());