send_data attachment over ssl to IE ?

Hi and thanks if you can help…

I have a quirk in my application : i can’t make send_data to stream for download (disposition=attachment) an image over SSL with internet explorer.

Works fine with FF (ssl or not), works fine inline (ssl or not, IE or FF), works even fine without ssl (still IE).

But when i try to get the link through SSL, IE somehow gives me a :

“cannot download blabla from someurl, not able to open this internet site, requested site either unavailable or cannot be found. please try again later…”

Of course it doesn’t work later. The only thing i could find about this is from the rails api on send_file : “IE versions 4, 5, 5.5, and 6 are all known to have a variety of quirks (especially when downloading over SSL)”

see my source below. I’m using lighttpd with fcgi, nothing fancy.

def download

qr = blabla (edit)

send_data(qr.to_blob, :filename => qr.code+'.png', :type =>

‘image/x-png’, :disposition => ‘attachment’, :streaming => ‘true’, :buffer_size => ‘4096’ )

end

Any ideas, suggestion, quirk-remover-spray ? (I’m desperate…)

Stan

Hi Stan - Rails sets the HTTP header Cache-Control: no-cache by default. IE cries big tears when you download a no-cache file over SSL since, internally, it can’t save the file to the disk cache! Reference http://support.microsoft.com/kb/323308 and http://support.microsoft.com/kb/815313

Please try headers.delete (‘Cache-Control’) before the call to send_data. Also see the expires_at and expires_now for a Railsy take on HTTP caching.

Best, jeremy

Thanks ! Works great ! Had to delete the pragma as well.

I have another issue with IE on this actually, it doesn’t look like caring much about my type=>‘image/x-png’ : I get Type: Unkown File Type.

I’ve been careful to check that this one was on the list of known mime types (), and I know from that article that IE checks the 256 first bytes to ensure the type matches the data. Is there a problem with my image (built within rmagick) or is it related to headers and cache once again ? (first fix didn’t do much for that other problem). here is my to_blob : def to_blob(fileformat=‘PNG’) draw() return @imgl.to_blob do self.format = fileformat end end Stan Jeremy Kemper wrote: