This week's book giveaway is in the Cloud forum.
We're giving away four copies of Terraform in Action and have Scott Winkler on-line!
See this thread for details.
Win a copy of Terraform in Action this week in the Cloud forum!

David Le Strat

Greenhorn
+ Follow
since Mar 27, 2003
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by David Le Strat

All,
I found the fix to my problem:
There is a bug with IE. And as far as I tested it is still there in IE6 that results in IE not being able to open a streamed PDF under HTTPS.
Basically, this behavior will occur if the HTTP header specify any of the cache control headers:
Pragma
Cache-control
Expires
To fix this, I reset my response: pResponse.reset() and set only the header fills needed for my stream.
Regards,
David.
18 years ago
Hello there,
I having fighting with a bizarre problem that pretty much consistent in all versions of IE.
I am streaming out a PDF document from an application server. Everything works fine in HTTP. However with HTTPS, I am getting the following error:
Internet Explorer cannot download ... + file name from host.
Internet Explorer was not able tto open this Internet site. The requested site is either unavailable or cannot be found.
Here is the code, I wrote to stream out the pdf:
pResponse.setContentType("application/pdf");
pResponse.setHeader("Content-Disposition", "attachment; filename=commission_" + period + "_" + rptype + ".pdf");

ByteArrayOutputStream byteArrayOutputStream = null;
byteArrayOutputStream = new ByteArrayOutputStream();
int length = BUFFERSIZE;
if (bufferLength < length) {
length = bufferLength;
}
byte[] buff = new byte[length];
while ( bufferedInputStream.read(buff) != -1 ) {
if (mDebug) {pRequest.logDebug("ReportRetrieval:service. Buffer length " + length);}
byteArrayOutputStream.write(buff);
bufferLength = bufferLength - length;
if (bufferLength < length) {
length = bufferLength;
}
if (0 == length) {
break;
}
buff = null;
buff = new byte[length];
}
bufferedInputStream.close();
pResponse.setContentLength(byteArrayOutputStream.size());
if (mDebug) {pRequest.logDebug("ReportRetrieval:service. Content length: " + byteArrayOutputStream.size());}
pResponse.getOutputStream().write(byteArrayOutputStream.toByteArray());
pResponse.getOutputStream().flush();
pResponse.getOutputStream().close();
return;

The problems only happen with IE under HTTPS, all other browser work find.
Any suggestion would be very appreciated.
Regards,
David.
18 years ago