Java 使用Struts2下载文件并提示
我正在使用Java 使用Struts2下载文件并提示,java,google-chrome,download,struts2,http-headers,Java,Google Chrome,Download,Struts2,Http Headers,我正在使用Struts2下载文件。当我点击按钮下载文件时,文件会自动下载并在Excel中打开,而不是我想要下载,当我右键点击它时,我应该能够打开或保存它。在IE和Firefox中,我可以打开或保存文件,但在Chrome中,文件会自动在Excel中打开。有没有办法像Firefox和IE一样在Chrome浏览器中使用它 行动 public String viewReport() throws Exception { boolean returnReport; inputStream
Struts2
下载文件。当我点击按钮下载文件时,文件会自动下载并在Excel中打开,而不是我想要下载,当我右键点击它时,我应该能够打开或保存它。在IE
和Firefox
中,我可以打开或保存文件,但在Chrome
中,文件会自动在Excel中打开。有没有办法像Firefox和IE一样在Chrome浏览器中使用它
行动
public String viewReport() throws Exception {
boolean returnReport;
inputStream = new FileInputStream(DOCUSIGN_REPORT_FILE);
try {
returnReport = validateRequest();
if (returnReport) {
intgList = this.generateViewIntegrationReportData(getESignUIConfig());
this.createCSVFile(intgList, DOCUSIGN_REPORT_FILE);
} else {
failureResponse(msgs, 400);
return null;
}
} catch (Exception e) {
e.printStackTrace();
msgs.add(new Message(ESignatureIntegrationMessageTypeEnum.MESSAGE_TYPE_ERROR,
UiIntegrationKeyConstants.UI_INTEGRATION_ERROR_CODE_500, UiIntegrationKeyConstants.UI_INTEGRATION_ERROR_TEXT_SERVICE_ERROR));
failureResponse(msgs, 500);
return null;
}
return UiIntegrationKeyConstants.REPORT_REPSONSE;
}
Struts.xml
集成视图
应用程序/text/csv
输入流
附件filename=“docusignenveleport.csv”
4096
询问是否使用桌面应用程序打开文件或保存文件的提示由contentDisposition
HTTP标题设置为attachment
(您已设置)。相反,inline
会尝试使用浏览器插件打开文件,而不会询问任何问题
也就是说,你的问题背后的原因是你(或有权访问你的计算机的人)以前指示Chrome总是打开这种类型的文件,这就是为什么它不再问你该怎么做的原因:
解决方案是从设置中清除此选项
自定义和控制Google Chrome设置+显示高级设置清除自动打开设置
安德里亚,你真是太棒了。你理解我的问题,没有进一步的调查,你回答了我想要的。我被告知这是一种浏览器行为,但没有人知道如何修复它。再次非常感谢你。