设置响应的内容类型
Set content-type of response
是否可以在写入后更改响应的内容类型。
我需要将响应写入 .txt 文件。如果有任何错误,它应该只 return zip 文件而不是 .txt 以提醒最终用户有关失败的信息。
但即使我将内容类型设置为 zip 文件以防异常,它也不起作用。
没有。您可以构建 zip(没有写任何 headers 或任何响应),然后最后,如果成功,将 content-type 写为 zip 并将其打印到响应,如果没有,写txt 到 content-type 并打印您的错误消息。
Pseudo-code:
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());
是否可以在写入后更改响应的内容类型。
我需要将响应写入 .txt 文件。如果有任何错误,它应该只 return zip 文件而不是 .txt 以提醒最终用户有关失败的信息。
但即使我将内容类型设置为 zip 文件以防异常,它也不起作用。
没有。您可以构建 zip(没有写任何 headers 或任何响应),然后最后,如果成功,将 content-type 写为 zip 并将其打印到响应,如果没有,写txt 到 content-type 并打印您的错误消息。
Pseudo-code:
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());