Web Forms :: FileStream And Large Files - 404 Error
May 14, 2010
I'm using a web form that allows users to upload media files. The code works great on small to medium size files, but I've found that if a file is really big(like bigger than 15MB), the user will get a 404 error. Currently I'm using the code below to handle the file. Does .NET provide another way to handle larger files?
We have page that allows the users to upload documents (multiple). When the upload takes a long time - either due to the size of the files or due to slow upload speeds - we get a exception saying "Request timed out".
We found that the exception is thrown as soon as the upload is complete. So we have modified the executionTimeout config entry to 6000 secs. But this error still shows up consistently. We are running IIS6, .net 3.5 sp1 (asp .net 2.0).
Update.I'm able to reproduce this issue with relatively small files (multiple files with total of 75MB)
I use file upload control.........and below this there is upload button which include programming to upload file.........
It is working fine for file size of less than 2mb but when i pick file of 5 mb(say) and i click on file upload button or any other button then outcome is
Internet Explorer cannot display the webpage
I placed break point on upload button but control doesn't go their..........
I am creating an application like youtube to store videos and I need some advice.Should I use SQL Server FileStream to store the video files or should I store them somewhere on the hard disk and record the path as a varchar(MAX) inside SQL Server?Which is recommended and why?Do you recommend something else apart from both these?
i have some files, and i need to upload these files into sql server 2008 by using filestream. lets take table name as custfiles,columns are fileid,filename,filepath,filesize.
1.how to create table using filestream? 2.how to insert file (record) into table from .net environment? 3.how to retrive that file from .net environment?
I've got a vb.net page that when a user clicks a button in a gridview, it copys the file (row seleted) in the gridview as "Label2" from the webserver to the users pc. (We had to setup a lot of security to get it so the webserver could copy to the users pc). I have that all working fine, but now, I'm trying to see if FileStream will then open the file that was just downloaded on the users PC. I'm not familiar with FileStream, and could use a little push in the right direction. (Disclaimer, yes I know downloading the file directly to the pc is a crazy thing to do, but it's a really long story. :-)
For the FileStream portion, I found this sample, but don't quite understand if I can incorporate it into my button click event. Here's the sample [URL]
I need to create an upload site to upload large files over 2GB I want ot create a site like [URL]. Once these files get upload i want them to have a link to the file created but the link encrypted. I know there is a limit to http upload. I have used a bunch of the flash upload web apps but are capped at a specfic mb becuase of .net. What options are out there.
I used this sample to work around the issue we were having with large files. [URL] Unfortunately, when I attempt to download large files of 30MBs or more, the download times out and the user gets a partial download. It doesn't seem to be a consistant percentage of the download either. I attempted to download a 50MB file and got to 33MB. When trying a 30MB file, I downloaded 24MB.Below is my code.
if (File.Exists(strFilePath)) { fileName = System.IO.Path.GetFileName(strFilePath); Response.Clear(); system.IO.Stream iStream = null; byte[] buffer = new Byte[10000]; int length; long dataToRead; try { iStream = new System.IO.FileStream(strFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read); dataToRead = iStream.Length; //FileInfo file = new FileInfo(strFilePath); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Length", iStream.Length.ToString()); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName.Replace(" ", string.Empty)); while (dataToRead > 0) { if (Response.IsClientConnected) { length = iStream.Read(buffer, 0, 10000);..................
We have a problem with some people working from home where when uploading 30-40mb (max upload is 50mb) they are timing out. Naturally when these people are on site they have no problems because of the network speed with have. What are peoples thoughts about extening the time out period, working on an 250k upload speed from home, we would be thinking about 20 to 30 mins.
I am trying to figure out a solution to upload large files under a web page. I know WCF + Streaming is a proper solution for large file transfers, but I am not sure how to get the WCF client implemented under ASP.NET. Here is the link: [URL] Besides, is there anyway I could implement a progress bar showing the upload progress while the file is being uploaded, and voiding page timeout?
What is better way to large upload file. using a web service or in application itself. If in application, how can we check that files is to upload. actually i dont want user to wait for complete uploading, when it starts uploading user will get response of uploaded and uploading will be done in backgroud. I am not sure this type of task can be done in webservice also so that user doesnot need to wait for complete uploading. and one more query which event fires when the page redirects to another page. Is it Page_UnLoad or Dispose.
I've recently been given the task of diagnosing and fixing an internally written asp site that is used to transfer large files internally and externally.
The user uploads a file and enters the receivers email address. The receiver can then click on the link which takes them to the retrieval section of the site.
The issue is although we currently have an upload limit of 100MB set within the web.config file "maxRequestLength=102400", when a user uploads a file of more than 60MB although the upload works and the file is copied to the server when the receiver tries to access it the page simply displays "Internet Explorer cannot display this page".
The site works fine for files that are smaller than 60MB so I don't think it's a code issue, but I can't be 100% certain.
i want to check my fileuploas size . if bigger then 2mbm error message will popup, this is my some of my code
If file_newimage.HasFile = True Then Dim ext As String ext = System.IO.Path.GetExtension(file_newimage.FileName).ToString If ext <> ".jpg" And ext <> ".png" And ext <> ".bmp" And ext <> ".jpeg" Then MessageUser("Photo uploaded must be in .jpg/.png/.bmp/.gif or .jpeg format") Else If file_newimage.PostedFile.ContentLength > 2097000.0 Then
[Code]....
but when i input image 12MB, just to check my coding my page went "Page cant be displayed" ...
Is there a way of filtering large CSS files for the only required selectors on a page, and creating css files that contain just these selectors?
Case: I have a very large CSS file that I want to filter on a per page basis, so that the file size is cut down and can be cached by mobile devices. I was thinking along the lines of something like a server side dust me selectors tool.The particular project I am working on is using ASP.NET MVC.
We use the MojoPortal to a website and have some problems to upload files that is around 100 MB with the upload module. (Pleas note that this has probably nothing to do with MojoPortal but with the ASP.NET and the IIS)
The MojoPortal is set to use regular file Upload(not Neat Uploader) and to be able to upload big files we have set the following :
The problem is that the upload will cacel after a couple of minuts (Aborted).
Is there any other values that I need to set to make this possible? The MojoPortal itself should not have any settings for this as far as I know so its regular ASP.NET 4.0.
Anyone got some good pointers at an open source (article for creating your own would even be better) component to upload large files.SlickUpload for instance works great, and surely worth the money, but as this is for a pet project, a paid solution is just not what I'm after.
I am building a website where i need a page where user can upload large video files, i have created WCF service with streaming but i am calling that WCF service from Button_Click event of web page.
I have used below mentioned article for WCF service creation
WCF Streaming
I have used streaming as it should be efficient and should not be buffered in memory of server.
Now questions
1) I am having doubts that the entire file is uploaded to the web server and then it is transferred to WCF Service server...if this is true then i am not getting advantage of streaming as well as iis and web server will be down very soon if user uploads large file or multiple user are uploading files con currently
2) Is there any other efficient way to do same operation with some other technique
EDIT :
If I am not calling WCF Service method from ASP .Net code in that case also it is transferring bytes to the web server which i have checked with HTTPFox
I have checked above thing with upload control and putting one button on UI whose click event is bound to one method in code behind.
So, still i am having that confusion that how data is transferred
Client Machine - Web Server (ASP .Net Application) - Service Server (WCF Service) Client Machine - Service Server (WCF Service)
NOTE : If i am putting a debug point on button_click and uploading 10 kb file it hits that in less then 1 sec. but if i am uploading 50 mb file then it is taking time.
I placed code of calling WCF service inside that button_click event
I'm testing a very simple aspx page on Visual Studio's own ASP.NET Development Server(the local server). On the webpage there is a FileUpload control which can upload jpg file up to 2MB without problems. On uploading bigger files, the browser immidiately show "The web page cannot be displayed". It does not show any exception which really puzzles me. "The web page cannot be displayed" is normally caused by network problem, but in this case it's a local server and it can handle smaller jpg file fine. Whta's the problem here?
We'd like to restrict the maximum upload file size in our web site. We've already set the appropriate limits in our web.config. The problem we're encountering is if a really large file (1 GB, for example) is uploaded, the entire file is uploaded before a server-side error is generated, and the type of the error is different whether the file is huge or not. Is there a way to detect the size of a pending file upload before the actual upload takes place?
Here's my relevant web.config settings that restrict requests to 16 MB:
[Code]....
Update:
I know that client-side technologies like Flash can detect file sizes before upload, but we need a server-side workaround because we're wanting to target platforms that have no Flash/Java/ActiveX/Silverlight support. I believe that IIS or ASP.NET has a bug that's allowing large files to be uploaded despite the limits, so I've filed a bug here.
Would an ISAPI extension give me more control over request processing than HTTP modules and handlers, such as allowing me to abort an upload if the Content-Length header is seen to be larger than the allowed limit?
Update 2:
Sigh. Microsoft has closed the bug I filed as a duplicate but has provided no additional information. Hopefully they didn't just drop the ball on this.
I have an RSS-reader in one of my webservices. I then utilize the webservice using javascript and everything works fine with small to moderately sized RSS-feeds.
But the webservice keeps timing out when I'm trying to use larger RSS-feeds.
ie. this feed from Youtube: [URL]
Javascript VideoModule = { LoadVideos: function () { var ret = RSSService.GetFeed("http://gdata.youtube.com/feeds/base/users/TheOnion/uploads?alt=rss&