如何在 REST 响应后删除文件
在将文件作为对 REST 请求的响应返回后,处理删除文件的最佳方法是什么?
我有一个终结点,它根据请求创建一个文件并在响应中返回该文件。一旦调度了响应,该文件就不再需要,可以/应该被删除。
@Path("file")
@GET
@Produces({MediaType.APPLICATION_OCTET_STREAM})
@Override
public Response getFile() {
// Create the file
...
// Get the file as a steam for the entity
File file = new File("the_new_file");
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition", "attachment; filename=\"the_new_file\"");
return response.build();
// Obviously I can't do this but at this point I need to delete the file!
}
我想我可以创建一个tmp文件,但我本来以为有一个更优雅的机制来实现这一点。文件可能很大,所以我无法将其加载到内存中。