If you are trying to accomplish this task (getting a CSV file to download in IE8) using Salesforce.com (in which case your front-end is Visualforce and you can't set all of the headers, only some of them), here's what you need:
<apex:pagecache="true"contentType="application/octet-stream#myAwesomeFileName.csv"showHeader="false"sidebar="false"standardStylesheets="false"><apex:outputTextvalue="{!csvContent}"escape="false"/></apex:page>
The key pieces here are cache=true
, which, in conjunction with the default expires=0
attribute, achieves the following headers:
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
And then the contentType
of application/octet-stream
--- doing text/csv
fails for IE8.