安全通訊端(https)下無法下載附件的解決方案

來源:互聯網
上載者:User
最近在做一個項目,裡面實現一個功能,就是點擊按鈕後,將一段文本輸出為txt附件,供使用者保持。

整個功能在普通http方式訪問是能夠正常下載,而採用安全的https方式訪問時,卻無法正常下載保持。

在網上搜尋了一遍,才發現,原來這是IE的一個bug來的,它不允許採用no-cache方式進行下載,必須採用public方式下載才能夠正常,鑒於網路上很多文章所說的都是南轅北轍,下面我將參考代碼貼出來供大家參考。

//這兩句話表示將文本輸出為txt附件格式
response.setContentType("application/text");
response.setHeader("Content-Disposition", "attachment; filename=export.txt;");

//這兩句話是關鍵,這樣設定,在https下才能正常下載附件
response.setHeader("cache-control","public");
response.setHeader("Pragma","public");

PrintWriter out = null;

try
{
//獲得輸出對象
out = response.getWriter();

//這句話用來將文本的內容輸出到附件上
out.print("匯出附件的內容");

out.flush();
out.close();
}
catch (IOException e)
{

}
finally
{
if (out != null)
{
out.close();
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.