我想知道是否可以这样做。
我收到了一份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响应发送到客户端之后删除文件(使文件管理器成为服务器上的临时文件)。
我提前感谢你的帮助。
答案 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 { // 删除文件 }