Выполнить после отправки http ответа Java - PullRequest
2 голосов
/ 19 октября 2011

Я хочу знать, можно ли это сделать.

Я получил 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-ответ будет отправлен клиенту (делая filer временным файлом на сервере).

Заранее благодарю за помощь.

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

сделать это в блоке finally попробуйте {File filer = new File ("C: \ tempfile.txt");

return Response.ok (filer, MediaType.APPLICATION_OCTET_STREAM) .header ("content-disposition"," вложение; filename = \ "" + newName + "\" "). build ();} наконец {// удалить файл}

0 голосов
/ 19 октября 2011

Возможно, вам не следует использовать временный файл для начала. Если вы хотите отправить сгенерированные двоичные данные и не хотите хранить их все в памяти, передайте StreamingOutput в качестве объекта при вызове ok().

...