I've recently developed a web user control that lists a series of reports. When the user clicks on the report it serves back a CSV file download in the response stream using the following code:
The code initially worked fine in all browsers. Then the client put a requirement to use SSL for the site. As part of this I introduced a global handler to update the protocol from HTTP to HTTPS for all requests as follows:
However, since securing the site using SSL the CSV file downloads no longer work for IE although they do continue to work for Firefox / Chrome / Safari.
Is there something I am missing in the headers that is unique to IE in order for the file response to work correctly?
The message I receive from IE is:
"Internet Explorer cannot download
Reports.aspx from .... in ......
Internet Explorer was unable to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later."
UPDATE:
Here is some example fiddler output coming back from the page request which looks like it's serving correctly. Why doesn't IE understand that it's just been served a file?
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:23:50 GMT
Server: Microsoft-IIS/6.0[code].....
Error 1 'Response' is an ambiguous reference between 2 references that have a Response.Neither is the one I need,how do i reference the Response that write the file?
I have an httpmodule and it has a handler for OnEndRequest. I am trying to write the HttpContext.Response.OutputStream to a file. I am trying to use the Read method of it. But when it is called the exception message i get is "Specified method is not supported". So i am not able to do what i want that is, write the response to a file on the disk. I am able to write the HttpContext.Request.InputStream to a file using its Read method which i do in a handler for OnBeginRequest.
There are files stored in sql server (datatype of column is varbinary in the database).
each record is in one record in that table (FILE_TABLE).
And there is another table (PATH_TABLE) to store the files paths.
for example,
when the user download the folder A (select an item on the tree and click a button on the client side),
there is one sub-folder B and two files A-1 and A-2.
in folder B, there is two files B-1 and B-2.
then, at the code behind (server), the server will get the files from the database and convert them (including the files and subfolders) to a .zip file (or other compressed files)
and then write a response (using the method HttpResponse.BinaryWrite(Byte[] xxx) )
to client side and let the user download.
after the download, the user can extract the compressed file and the structure of the folders and files keep unchanged.
I am trying to change the text of a asp:textbox and collapse some ajaxToolkit:CollapsiblePanelExtenders within some ascx controls on my page as well as output a dynamically generated file. I have no problem collapsing the CollapsiblePanelExtenders and changing the text of the textbox from the codebehind or outputting a file. The problem arises when I want BOTH of these events to happen on the same postback. Unfortunately using Response.Write negates all of the other changes to the page.
I need to to export a file to the user. It takes 1-2 min to generate the file so I'd like to have the page go into a kind-of modal mode with a layover on the page and a 'Working' spinner showing. The problem is I can't make the modal stuff go away after Save File dialog is closed.
How can I remove the layover after the dialog is done?
i am calling a function which is inside Homescroll.ascx.cs from Homescroll.ascx so i wrote on Homescroll.ascx as <% Response.Write(scroll()); %> but all this is in update panel,and i am getting errors. so is their any other way to call function from homescroll.ascx to homescroll.ascx.cs,instead of response.write();
I would like to know your libraries recommendations to read and write Excel applications on ASP .NET website. I have tried GemBox and NPOI, because they don't required Excel to be installed on the server, but they have some limitations on handling Excel files that are marked to read only.
It is possible to upload a file to an account using the below code by specify an existing filepath.
What I wonder is how it instead would be possible to just write a string to this file instead. Like I want to open the file and write the string "Hello" to this file, file1.txt.
How can that be achieved. I beleive I would have to open up a stream of some kind but are not exactly sure how to set that up:
I have an ASP.Net (2.0) application on an intranet that impersonates the users Windows login.
It has <identity impersonate="true" /> in the web.config file.
In a couple of places it needs to create a file in the temp folder of the server (a text file in one instance and a Word doc in another instance) before sending the resulting file to the user, after which it is deleted.
It runs into a permission problem, which I assume is because the user that is being impersonated does not have permission to write to the server's hard drive.
How do I overcome this?
I assume it be something along the lines of temporarily running under a different account for the create/read/write/delete temp file parts of code.
how to do this and which account would be the best (easiest) to use. It will be a Windows 2003 server.
Let me explain better than what the question state. I dynamically generate a KML file from an aspx page and use routing to change the url so I can access myapp.com/mykml.kml and the download starts. I use Response.write() in the aspx page to send the data and it work flawlessly. But there is a zipped version for KML files which is KMZ and I am wondering if I can still use my aspx page to serve a KMZ instead of a KML. Since I do not use a file I cannot "zip" it. Is there a way to zip the stream and output it in the Response.Write()?
Basically I have to generate a rather large XPS document serverside and send this back to the client.
The issue I have whilst trying to do this is because the XPS document needs to be created on a STA thread, so either the response is sent back before the async operation is complete (in which case I can't attach the file using the transferfile method) OR I have to wait until the Async thread has completed and then I can send the file using the transferfile method (but this leaves the current page locked out for quite a while).
I am using the code below to enable clients to download a .csv file from my server.
The problem I am having is that when the file is saved to the client computer the file name is prefixed and suffixed with an underscore which leads to a file type of .csv_ which is obviously not a recognised file type.
How can I strip the underscores from the file name at the transmit stage?
Dim FileName As String = LstBox1.SelectedItem.ToString Dim FilePath As String = "~/temp" & FileName Response.Clear() Response.ContentType = "text/csv" Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName & "") Response.TransmitFile(FilePath) Response.End()
I have got an error "server response error : Unknown server error" while uploading file using Ajax AsyncFileUpload, code behind function is triggered while uploading, but after code behind function executed, we are getting this error.
I have the following subroutine: Public Sub StartTimeDif() Dim dt As DateTime = Convert.ToDateTime(starttimeInput.Text) Dim dt1 As DateTime = Convert.ToDateTime(endtimeInput.Text) Dim ts As TimeSpan = dt1.Subtract(dt) Response.Write(ts.Minutes) End Sub and I'm trying to pass (ts.minutes) to durationLabel.