1
我正在使用Struts2
下載文件。當我點擊按鈕下載文件時,文件會自行下載並在Excel中打開,而不是我希望它下載,當我右鍵點擊它時,我應該可以打開或保存它。在IE
和Firefox
我得到一個窗口來打開或保存文件,但在Chrome
文件文件本身打開在Excel中。有沒有辦法把它在Chrome
就像Firefox
和IE
使用Struts2下載文件並提示
行動
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的
<action name="*Integration" method="{1}" class="foo.bar.ESignatureIntegrationAction">
<result name="success" type="tiles">integrationView</result>
<result name="reportResponse" type="stream">
<param name="contentType">application/text/csv</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">
attachment;filename="DocuSignEnvelopeReport.csv"
</param>
<param name="bufferSize">4096</param>
</result>
</action>
你是真棒安德烈。你明白我的問題,沒有任何進一步的調查,你回答了我正在尋找的東西。我被告知這是一個瀏覽器行爲,但沒有人知道如何解決它。再次感謝你。 – Jaykumar