首页 > 解决方案 > 如何使用 java 模拟损坏的应用程序/八位字节流

问题描述

我有一个 java web 应用程序,它将生成一个带有下载文件链接的 http 页面。当链接被点击时,它会去一个 API 并且这个 API 会发送一个HttpResponse response并且响应 contentType 是

resp.setContentType("application/octet-stream");
resp.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");

然后浏览器会将文件保存到操作系统的下载目录。

现在,如果文件丢失或损坏,我们如何以编程方式向浏览器生成下载失败?我应该使用某种标题吗?

请注意,如果文件丢失,我有机会在流开始之前知道,但我必须在 html 超链接的基础上工作。

标签: javahtmldownload

解决方案


如果文件丢失,则应使用 HTTP 状态 404(未找到)将其传达给客户端。

resp.setStatus(HttpServletResponse.SC_NOT_FOUND); 

推荐阅读