java - Servlet - 强制覆盖下载的文件

标签 java jsf jakarta-ee servlets jsf-2

如何更改此代码以强制覆盖驱动器上保存的现有先前打开的文件?它是用于在客户端打开 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 等

最佳答案

无法控制它。

这取决于客户端的操作系统文件系统实现

关于java - Servlet - 强制覆盖下载的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546288/

相关文章:

java - 这两个用于查找二叉树最大深度的代码有什么区别?

java - 数据库连接和 OutOfMemoryError : Java Heap Space

java - 如何使用 Apache POI 在 Word 文档中定义窄边距?

jakarta-ee - 从ear/lib/*.jar中读取驻留在/ear/war中的属性文件

java - JASPIC JDBC 领域身份验证的 "register new user"解决方案是什么?

java - 如何访问maven web应用程序中的目录(java)

java - Spring Data JPA 中的命名实体图 JOINS 结果(需要不同的选项)

java - 在 Realm 中执行更新时出错

css - 在 JSF Web 应用程序中使用 SASS

java - 动态Jfreechart