在我的jsp页面中,我提供了一个查看/下载扫描文档的链接。
单击该链接后,我可以正确查看文档,但我希望 jsp 在打开该文档之前提示打开、保存或取消选项。
我是否必须对响应对象进行一些更改,还是由于浏览器设置而发生..??
谢谢。。。。。!!!
我像这样编写了我的控制器类:
public void fileUploadOption(HttpServletRequest request,HttpServletResponse response) {
try {
// get your file as InputStream
InputStream is = new FileInputStream(new File(\..file..\));
IOUtils.copy(is, response.getOutputStream());
response.flushBuffer();
} catch (IOException ex) {
throw new RuntimeException("IOError writing file to output stream");
}
}
您需要将Content-Disposition
标头设置为 attachment
。这将强制使用"另存为"对话框。
在将任何字节写入响应正文之前添加以下行:
String filename = file.getName();
response.setHeader("Content-Disposition", "attachment;filename="" + filename + """);
顺便说一下,在这种情况下,"上传"是错误的术语。我会将该方法重命名为 fileSendOption
或 sendFile
或其他东西。