编程语言
首页 > 编程语言> > java – REST响应后如何删除文件

java – REST响应后如何删除文件

作者:互联网

参见英文答案 > Write an InputStream to an HttpServletResponse                                    3个
在将文件作为对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文件,但我认为有一个更优雅的机制来实现这一目标.该文件可能非常大,因此我无法将其加载到内存中.

解决方法:

有一个更优雅的解决方案,不写文件,只是直接写入Response实例中包含的输出流.

标签:java,rest,resteasy
来源: https://codeday.me/bug/20190928/1829370.html