in reply to Filestream link open/save prompt

In addition to keszler's advice, also consider looking at the value of FormId resp. $fileName. The URL might end with .doc (or .docx) in one case, making IE treat the link as link to a Word file. If your FormId is something opaque, like a row id or an MD5, this might trigger different behaviour in IE (and other browsers).

You might want to add (or remove) a Content-Disposition: attachment header if your ->header_props routine does not do that already. The Content-Disposition: attachment; filename=$fileName header would make the browser prompt the user. So I expect that you might want to remove it.