java - 通过 java/servlet 使文档可供下载

标签 java download document

我需要知道在 java/servlet 中是否有一种方法可以使存储在数据库中的文档(doc、pdf)以请求的方式可供用户下载(请参见下文),

例如有一个网页和其中的文档链接

现在是这样做的: 如果用户单击该链接,则会打开一个新的空白窗口,并显示下载对话框,用户可以下载文档,但该空白窗口保持打开状态 并且用户必须手动关闭它

但希望这样做: 如果用户单击该链接而不是直接停留在该页面上,则会出现一个下载对话框,要求他们保存文件

servlet url处理文档的下载,负责提取文档表单数据库并提供给用户下载

谢谢你的时间和努力

最佳答案

您需要在您的 servlet 中添加以下 header 以使其成为可下载的内容,这样浏览器就不会尝试显示它,

String value = "attachment;filename=\"" + URLEncoder.encode(filename, "UTF-8") +'"';
response.setHeader("Content-Disposition", value);
response.setHeader("Content-Transfer-Encoding", "binary");

文件名是建议的文件名,用户可以更改。

关于java - 通过 java/servlet 使文档可供下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1840703/

相关文章:

java - Spring-Hibernate 应用程序中的 Whitelabel 错误页面

java - 疯狂的类加载器问题

python - 如何使用 R 或 Python 通过 Google Scholar 查询下载学术论文的 PDF

download - 是否有适用于 Solaris 10 的 wget 命令

asp.net-mvc - 使用RavenDB的类似Twitter的模型

javax.命名.AuthenticationException : [LDAP: error code 49 - Invalid Credentials]

java - 使用光标适配器选中复选框时,使用删除按钮删除 ListView 中的项目

android - 在后台下载大文件 (Android)

iphone - 在 iOS 应用程序的文档文件夹中创建一个文件夹

java - "getDocumentElement"和 "getFirstChild"不同