Maximum file upload question

F

fiefie.niles

In ASP.Net (VS 2005), is there a way to limit the user to upload a
file up to certain size (say, I would like to limit the user to upload
at the maximum 1 meg of file) ?
Thank you
 
J

Juan T. Llibre

re:
!> I would like to limit the user to upload at the maximum 1 meg of file

Iy's very simple...

In web.config :

<httpRuntime maxRequestLength="1024"/>




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
 
J

Juan T. Llibre

re:
!> Since there is no way for you to tell from the server-side how big the user's file is

There isn't any way to do that, but you can limit the maximum size for any uploaded file.
See my just-sent-in tip.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
 
S

Scott Roberts

It should be noted that this entry will limit the size of all HTTP requests
for all pages controlled by that web.config. You can, however, put the
"upload file" page in its own sub-folder and put a web.config in that folder
with the appropriate settings. For example, you might also want to adjust
the timeout value to allow for slow uploads, etc.

I guess my point is, the upload settings for files is probably different
than for "regular" requests, so consider putting pages that upload files
into their own sub-folder with their own web.config.
 
J

Juan T. Llibre

Hmmm... a bit nitpicky, but true.

I say nitpicky because I've been trying to figure out what an http request larger than
1MB looks like, other than an uploaded file...and can't come up with a valid example.

However, for comprehensiveness sake, ( just in case a request is made which isn't
an uploaded file but is larger than 1MB ) the following web.config entry would cover all bases :

<configuration>
<location path="UploadPage.aspx">
<httpRuntime maxRequestLength="1024"/>
</location>
</configuration>

Notice that the entry can be located in the root web.config.
A separate web.config is not needed.

If the upload aspx is in a different directory, including the path will do fine :

<location path="/directory/UploadPage.aspx">




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
 
S

Scott Roberts

Juan,

There probably aren't *valid* requests larger than 1MB that are not file
uploads. Although, if you're not careful the viewstate can get pretty close
to that pretty quick (but then you've got other problems).

It's not so much the request size that I'm concerned about, but the request
timeout. I like to set it pretty high for file uploads, but not so high for
normal pages. Plus, we allow file uploads much larger than 1MB, so I was
really just commenting on file uploads in general.

Thanks for your tips, we may switch to the "location" attribute in order to
keep all config items in one place.

Scott
 
J

Juan T. Llibre

re:
!> It's not so much the request size that I'm concerned about, but the request timeout.
!> I like to set it pretty high for file uploads, but not so high for normal pages.

That makes sense...

re:
!> we may switch to the "location" attribute in order to keep all config items in one place

Yes, doing that keeps config items nice and tidy in one place.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top