Как изменить этот код на force overwrite существующий ранее открытый файл, сохраненный на диске? Это часть сервлета для открытия PDF-файлов на стороне клиента.Servlet - принудительно перезаписать загруженный файл
response.reset();
response.setContentType("application/pdf");
response.setContentLength(file.length());
response.setHeader("Content-disposition", "inline; filename=\"" + file.getName() + "\"");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try
{
input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0)
{
output.write(buffer, 0, length);
}
}
finally
{
close(output);
close(input);
}
Каждая следующая копия открытого файла имеет новый индекс, например. test.pdf, test (1) .pdf и т. д.
Спасибо, Jigar. Это немного раздражает, поэтому я должен время от времени удалять его :( – gaffcz
Или вы можете генерировать динамические имена файла .. –
* «Вы не можете это контролировать». * К счастью. Никогда не перестаешь удивлять меня, сколько разработчиков подумайте, что у них есть способность * или право * заставить конечного пользователя делать (или не делать) что угодно. Это может быть * ваше приложение, но ваше приложение является ** гостем ** на * моем * компьютере. –