How to upload up 10gb file on ASP.NET - asp.net

I have done a application on asp.net and I'm saving a video and audio file is sql server
i have a issue with uploading big file over on sever. appls is hosted on ISS7 here i used a code in web.config file that is a below:
<httpRuntime executionTimeout="3600" maxRequestLength="102400"/>
and
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1024000000"/>
</requestFiltering>
</security>
</system.webServer>
but im getting error on uploading time that is below in image:
please help me out how can i upload files up to 10GB with ISS7
10GB file im save ing as a varbinary(MAX) and 10GB was converting in Byte

With out-of-the-box ASP.NET, you are not going to be able to upload a file that big, because IIS will either timeout or you will exceed the size limitations (read: maxRequestLength setting for IIS).
You have a few options:
Custom HTTP module
NeatUpload is a free option.
Silverlight/Flash option
SWFUpload is a free option.
Asynchronous chunking option
RadAsyncUpload - Telerik's ASP.NET AsyncUpload is a pay option, check website for pricing.

<httpRuntime executionTimeout="3600" maxRequestLength="102400"/>
is about 10Mb (maxRequestLength is in Kb - see http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx)
You try set it to 10485760...

Related

How to debug large file upload error on IIS website (using Joomla)

I have seen many questions asking the same thing, and this trick seemed to work for them, but not in my case.
I have been tasked with setting up a webpage on a company's server for training videos. I can't embed them from a site such as YouTube because they contain sensitive information.
The webpage has been set up using Joomla on Windows Server 2012. This is the first time I've ever experienced IIS since I only have experience with Apache.
The files I am trying to upload are just under 1GB. When I attempt to upload, I get Error Total size of upload exceeds the limit.
Here is what I have placed in the web.config file (since there isn't a php.ini file):
<configuration>
<system.web>
<!-- this is my edit -->
<httpRuntime maxRequestLength="2097151" executionTimeout="3600" />
</system.web>
<location path=".">
<system.webServer>
<security>
<requestFiltering>
<!-- this is my other edit -->
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
I go into CMD and enter "iisreset" to restart, and it still gives me the same error.
I also found forums where people were advising a change with maxRequestLength, so I also wrote this in the config file:
<system.web>
<httpRuntime maxRequestLength="2097151" executionTimeout="3600" />
</system.web>
Still no dice. The client is becoming very impatient since they still haven't received what they asked for. We originally tried to place the videos on their Wordpress site, but that didn't work either since it is on a shared hosting server.
I found this webpage that instructed me (at the bottom) to run a program on the server, but I don't know how to do that yet. I unzipped it and it opened in Visual Studio. No idea where to go from here. Any help would be appreciated.

RadAsyncUpload Maximum File Size

I have been asked to write an application that basically moves files from a source (USB, CD) to a centralized location. Initially this application will be for internal use only but in the future may be needed by remote users. The files I need to move can be in excess of 4-5Gb. It has been suggested I use the Telerik RadAsyncUpload component. Can anyone tell me if I am likely to run into problems trying to upload files of this size using this control?
To allow larger uploads the maxRexquestLength and executionTimeout needs to be added to your web.config:
<system.web>
<httpRuntime targetFramework="4.5" maxRequestLength="5242880" executionTimeout="10800" />
</system.web>
The trickiest part of having this work is that the execution timeout may exceed the upload time required. So set it higher based on your average users bandwidth. We monitor this by logging when the execution timeout occurs and adjusting as needed periodically. Since your app will be internally initially this probably won't be an issue at all if they are transferring over the LAN.
Further info on this is available in the Telerik documentation here.
There are 3 parts on setting the size of the file that could be uploaded through RadAsyncUpload:
1) Setting the file size in the telerik control
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="100000000" />
</requestFiltering>
</security>
2)Configures ASP.NET HTTP runtime settings, to allow the http Request message to be able to include your file. Here we need to set the maxRequestLength and executionTimeout accordingly.
<system.web><httpRuntime targetFramework="4.5" maxRequestLength="102400" executionTimeout="2147483647" /></system.web>
3)IIS server would generally allow only 30MB of file to be uploaded. To be able to upload larger files, we need to make some other settings in the web.config , to increase the request limits.
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="100000000" />
</requestFiltering>
</security>

Uploading files (up to 10Mb file size) with ASP.NET webAPI

I work on a VS2012 MVC4 project containing a Web API controller. This project will be published on an IIS server.
I need to allow users to upload files. The problem is a web API is limited up to 4MB maximum file size upload. I read (for example here: http://blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload-and-asp-net-web-api.aspx) that we can extend this limitation by self hosting the web API (in this case file upload up to 2GB). I don't want self host my webAPI because I want to host it on my IIS web server so I think this is not suitable for my situation, right? So what can I do for uploading files bigger than 4MB?
If possible I search for an HTML5 solution (with drag'n drop).
So far none of the solutions I found allows me to accomplish this.
Thanks for your help.
Probably it was not clear but actually the blog URL is referring to IIS. You need to look for the following 2 settings in Web.config to increase the upload size:
Note maxRequestLength is in kbytes:
<system.web>
<httpRuntime targetFramework="4.5" maxQueryStringLength="" maxRequestLength="" maxUrlLength="" />
Note maxAllowedContentLength is in bytes:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="" maxQueryString="" maxUrl=""/>
If you read it carefully, it says "ASP.NET has a maximum limit of 2G in terms of file size that you can upload." So basically when hosted in ASP.NET/IIS you will be able to receive files up to 2Gbs. What you have to do is change some default values in web.config.
Check this out: https://stackoverflow.com/a/7154363/2517785
You can check this
int MaxContentLength = 1024 * 1024 * 10; //Size = 10 MB
if (postedFile.ContentLength > MaxContentLength)
{
}

Uploading large files through Web API in asp.net

I am working on Web API to upload video file.
Following code is working good for small files. I have uploaded 7mb files.
how to do multi-part video upload using api
Next i am uploading 200 mb file but it is not working throwing exception 'Request was Canceled'
I am still working on find out the details. If any one has experience in doing this can help.
Your code is probably correct since it works for small files, but don't forget to update IIS7 or IIS8's config to allow POST sizes of more than 30MB (the default limit of IIS is set to 30MB).
You'll need to edit your web.config and add this:
(in this example, it allows up to 250MB)
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="262144000"/>
</requestFiltering>
</security>
</system.webServer>

asp.net - post file gives 404 page result even though posted file is well under maxRequestLength

I have a page on my ASP.NET site which uploads files.
I have attempted to tweak the web.config file to allow for larger uploads.
In my web.config, I set:
<httpRuntime maxRequestLength="2097152" executionTimeout="3600" />
On my page, when I attempt to upload smaller files, no issue...even at 25MB.
However, when I attempt to upload a 50MB file, I still get a 404 error page.
NOTE: I have a flash control on a different page which can upload almost 2gb with no issues, using this same web.config setting.
Same result on different PCs, same result when posted to different web servers.
My web server is Windows Server 2008 R2.
Any ideas of the cause? Why would flash be ok, but plain jane upload control have this problem?
I found the answer. Windows Server 2008 R2 is using IIS7 (of course), and in IIS7, you have to set the following in your web.config file (in my example to increase the limit to 2gb):
<system.webserver>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
<system.webserver>
This worked, when everything else didn't. IIS7 by default limits uploads to 30mb unless this override is set.
The executionTimeout applies only if the debug attribute in the compilation element is False. (see also http://msdn.microsoft.com/en-us/library/e1f13641.aspx)
So try it when starting your application in Release config.

Resources