Architecture :: Write A Response To Let Users Download A Big File From DB?
Mar 11, 2010
I am a newbie of handling memory.
in my web apps, files are stored as varbinary in sql server.
my goal is to make a response to let users to download the files.
if there is a file (500 MB) stored in one record in the sql server,
what is the best way to let users download it?
I found that , in code-behind, if the files are loaded as byte[] objects, it uses the memory.
for example, the datalength of a file in the database is 500 MB.
the byte[] for this file uses 500 MB memory. am I correct?
how about the filestream? if the file is loaded as a filestream object in code-behind.s
does it also take 500 MB memory?
View 2 Replies
Similar Messages:
Dec 17, 2010
I'm trying to create a ZIP file on the fly which might contain a few thousands of pictures.
[code]....
My question:
Is there a way to initiate the download (let the download manager on client side popup), and then start writing on the stream?
I monitored w3wp.exe (IIS) process, and it seems that the data is being written on memory instead of Stream.
When w3wp.exe memory usage riches a certain number, it releases the memory and nothing happens (no download).
View 2 Replies
Mar 10, 2010
I am a newbie of asp.net.
The environment is .net 3.5 and C#.
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.
View 4 Replies
Aug 25, 2010
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.
View 1 Replies
Mar 18, 2010
if there is any config setting or any other way to force the response to be written all at once instead of it being written in multiple packets??The problem is I am using a response filter to edit anchor href's and the html parser (HtmlAgilityPack) strips out the malformed HTML when the framework writes to the response stream multiple times, so enforcing an all at once write would solve this headache.
View 1 Replies
Jun 24, 2010
I've a gridview which I am rendering to a html text writer and allowing clients to download as an excel spreadsheet using Response.Write. I'm using AJAX in my website now and suddenly it stopped working. This is the code I'm using
public static void Convert(DataSet ds, HttpResponse response)
{
try
{
//1. declare filename to export
string filename = "export";
//2. clear response object
response.Clear();
response.Charset = "";
//3. set response mime type to excel
response.ContentType = "application/vnd.ms-excel";
//4. prompt user to download the file
response.AppendHeader("content-disposition", "attachment; filename=" + filename + ".xls");
//5. create a string writer
StringWriter stringWrite = new StringWriter();
//6. create html writer which uses the string writer
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
//7. instantiate a gridview
GridView gv = new GridView();
//8. set gridview datasource to the dataset
gv.DataSource = ds.Tables[0];
//9. bind gridview
gv.DataBind();
//10. tell the gridview to render itself into htmltextwriter
gv.RenderControl(htmlWrite);
//11. output html
response.Write(stringWrite.ToString());
//12. end response
response.End();
}
catch (Exception ex)
{
string str = ex.Message;
}
}
I've found that Response.Write doesn't work with AJAX. Are there any alternatives to this?
View 3 Replies
Aug 19, 2010
I have a web form, that needs to save the data that the user enters, into a file and on the client pc, that will also be able to read from the saved file and repopulate the fields at a later time. No files will be saved to the server side, so I expect streaming needs to be involved at writing time.
I decided XML would be an easy way to do this, but I'm stymied on methodology. XML documents? XML Writers?
I'm stumped on the right search terms to even get what I want.
View 3 Replies
Jan 7, 2010
have the following
Response.ContentType =
"application/octet-stream";
Response.AppendHeader("Content-Transfer-Encoding",
[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?
View 1 Replies
Feb 10, 2011
I have web page, in that I place some links(hyperlinks or linkbuttons).
each button, when user clicks then a file should be downloaded to the user system..
files that are to be downloaded exists in asp.net website project folder>>downloads folder.
View 1 Replies
Feb 16, 2010
I'm working on some code that generates an Excel spreadsheet server-side and then downloads it to the user. I'm using ExcelPackage to generate the file.
The generation is working just fine. I can open the generated files using Excel 2007 with no issues. But, I'm having trouble downloading the file with Response.TransmitFile().
Right now, I have the following code:
//Generate the file using ExcelPackage
string fileName = generateExcelFile(dataList, "MyReportData");
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.ContentType = "application/vnd.xls"
Response.Charset = "";
Response.TransmitFile(fileName);
When Excel 2007 opens the file downloaded as above, it gives the "file format doesn't match extension" warning. After clicking past the warning, Excel displays the raw xml contents of the file. If I change the file extension, like so Response.AddHeader("content-disposition", "attachment;filename=FileName.xlsx");
Excel 2007 gives an "Excel found unreadable content in the file" error, followed by a dialog that offers to locate a converter on the web. If I click "no" on this dialog, Excel is able to load the data.
I've also experimented with different MIME types, like application/vnd.ms-excel and application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, combined with file extensions of .xls and .xlsx. All combinations result in one of the two behaviors mentioned above. What is the correct combination of file extension and MIME type to use in this scenario? What else could cause this failure, other than an improper MIME type or extension? FYI, this is occurring with Visual Studio's built-in development web server. I haven't yet tried this with IIS.
View 1 Replies
Nov 9, 2010
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:
Response.Clear();
Response.ContentType = "text/CSV";
Response.CacheControl = "no-cache"; [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:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string requestURL = Request.Url.ToString().ToLower();[code]....
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].....
View 3 Replies
Jan 18, 2011
I have a web service I put together that has a custom soap header for the authorization (UserName and Password).I have a function currently that will allow a user to download a file from my site via a web service.I have integrated this download to the membership system of the site.They are using a vb.net front end client to perform the download.The files I download are around a meg in size.I would like to show the download progess of the file.I was going to setup MTOM and download the file in chunks.I am trying to get around the authorization of each "chunk" of data that I am sending down to the client.I do not want to hit my authorization process for all of these calls to the web service with the file offset.The authorization header works well for other functions I have put together for this web service.
They set a username and password and then call a function for specific data that I am making available via the web service.Is there an easier method to stream a file to a user and show the download progress of the file?I was going to generate a token and have that token passed per chunk,but I still have to go through my security process.Can anyone assist in the proper design of a webservice to stream a file with progress and passing credientials.
View 2 Replies
Mar 31, 2010
I have following function which is called from a button click event
[Code]....
I am creating a zip file on the fly and wanted to download this file.Problem is that in Internet explorer when I click the button the download accelrator comes with file name as my page saying resume opendialogueif i click open then DAP window close and normal windows download manager comes but the event of my button fires multiple time?I don't know what to do with it
View 6 Replies
Mar 17, 2011
I have some information I am pulling from my db into a table. Can anyone direct me to a tutorial that shows how to dynamically create a file and allow a user to download that file with the table contents. All this must be dynamic.
View 2 Replies
Jan 8, 2010
I am using a gridview to display (open or save) files that have been uploaded into a SQL 2005 server. I have a templatefield within the gridview that contains a linkbutton that does a postback to GetUploadedFile.aspx that then fires the response.binarywrite() code. The code seems to work fine and opens/saves the files correctly. But once this has completed and I try and click on another button on the page, instead of doing the appropriate action it re-fires the getuploadedfile.aspx binarywrite code and opens up the "Open/Save/Cancel" dialog again.
[Code]....
[Code]....
[Code]....
View 4 Replies
Feb 4, 2010
How do I write Response.OutputStream to a file preferably in C#?
View 2 Replies
Jul 13, 2010
I have an application through which sers make Requests, and the people who fulfill those requests can accept them, fulfill them, etc.When a Request has been submitted, the technician looks it over and if it's complete decides on whether or not to Accept it, which means he will now be assigned to it and working it.
View 6 Replies
Oct 11, 2010
I have an asp.net application running on a web farm that allows users to upload files and download them later via link to that file. Currently, I use Windows DFS to replicate the local IIS directory where the files are stored across the web farm servers. However, as this solution does not scale out, I want to implement a more scalable solution by partitioning the documents. Specifically, say I set up multiple file storage servers (Fs1, Fs2, Fs3, etc.) on the network. Further, let's say I change my upload page to save the uploaded file to one of the file storage servers on the local LAN (based on some logic). I assume so far I am safe with ASP.NET doing this much assuming I have the correct permission for the ASP.NET process ID. The question I have is withregards to download links. When a user gets served a download link to their document (e.g. http://www.testco.com/data/doc1.txt) is there a way for me to "intercept" that HTTP request and underneath the coversserve the doc1.txt from the file storage server (e.g. Fs2) it resides
View 5 Replies
Apr 22, 2010
what is difference between Response.write and Response.output.write
View 2 Replies
Feb 25, 2010
Does anyone know how to use httpcontext.response.transmitfile or any other httpcontext function to download a file from a network drive instead of local drive? When I tried to use context.Response.TransmitFile(DownloadPath) to download files, the DownloadPath has to be local drive. If it's a network drive, the download failed.
View 2 Replies
Sep 3, 2010
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()
View 9 Replies
Jan 20, 2011
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.
View 2 Replies
Oct 12, 2010
I am using some code similar to the code below to open a word document on my ASP.net app. Once the file has been downloaded and opened I then want to either redirect to another page or refresh the screen but nothing works after response.end and if i add it before response.end the browser never downloads the file?
[Code]....
[Code]....
View 6 Replies
Feb 25, 2010
Does anyone know how to use httpcontext.response.transmitfile or any other httpcontext function to download a file from a network drive instead of local drive?
When I tried to use context.Response.TransmitFile(DownloadPath) to download files, the DownloadPath has to be local drive. If it's a network drive, the download failed.
View 3 Replies
Feb 15, 2011
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?
View 1 Replies