I had an issue similar to this one, so hopefully the resolution will help someone out:
What I'm doing is sending the files to a web method in a WCF service, and then just writing them to a folder on the web server. Everything worked fine in Firefox and Chrome, but with IE (unfortunately we're required to support IE), the file content was being sent in the header, but not written on the server.
When I looked at the traffic with Fiddler, what ended up happening is that when the request was sent with IE, the FileName property was "C:\somelocalclientfolder\somefile.txt" in the HttpContext request. In Chrome and Firefox, it was just "somefile.txt". I added in some statements to parse and extract just the filename, and poof, problem solved. File gets successfully written in IE, Chrome, and Firefox.
Also, as others have mentioned, you need to set the response Content-Type to "text/plain" if the request is made with IE. .NET has some classes that will return the type of browser used to make the request, so I just use those to determine server-side if IE is making the request and then only set the Content-Type to "text/plain" for that specific situation.