发送http响应Java后执行

时间:2011-10-18 21:31:58

标签: java http httpresponse

我想知道是否可以这样做。

我收到了一份RESTful服务,发送了javax.ws.rs.core.Response这样的回复

File filer =  new File("C:\tempfile.txt");

return Response.ok(filer, MediaType.APPLICATION_OCTET_STREAM).header("content-disposition", "attachment; filename=\"" + newName + "\"").build();

我希望在将http响应发送到客户端之后删除文件(使文件管理器成为服务器上的临时文件)。

我提前感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您可能不应该使用临时文件开头。如果您想发送生成的二进制数据并且不想将其全部保留在内存中,请在调用ok()时将StreamingOutput作为实体传递。

答案 1 :(得分:0)

在finally块中制作它 尝试{ 文件filer =新文件(“C:\ tempfile.txt”);

返回Response.ok(filer,MediaType.APPLICATION_OCTET_STREAM).header(“content-disposition”,“attachment; filename = \”“+ newName +”\“”)。build(); } finally { // 删除文件 }