ASPUpload: Request.BinaryRead failed (Large Files)

I use the ASPUpload component to upload PDF files.  All seems to work fine until it is a large file (> 2 MB) that the user is trying to upload, which returns the error:

Persits.Upload.1 error '800a0001'
Request.BinaryRead failed.

I've looked into the support articles about using Request.Form and such, but they don't seem to apply to this problem.  Also, why would this only occur with larger files?

Here's the code (which is all on one page):

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="addnew2.asp">
<INPUT TYPE="FILE" SIZE="40" NAME="FILE1">
  <input name="Uploaded" type="hidden" id="Uploaded" value="true">
  <BR>
<INPUT TYPE=SUBMIT VALUE="Upload">
</FORM>

<%
Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save("d:\inetpub\probelaw\WWWROOT\DOCUMENTS")
Response.Write Count & " file(s) uploaded to d:\inetpub\probelaw\WWWROOT\DOCUMENTS"
For Each File in Upload.Files
File.Move "d:\inetpub\probelaw\WWWROOT\DOCUMENTS\" & (rsNewDocument.Fields.Item("JDocument_ID").Value) & ".pdf"
Next
%>
probelawAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GaryCommented:
Are you using Win 2003?  If so there is a default file upload size limit, but you can change it.
probelawAuthor Commented:
No...it's Win2k
Become a Microsoft Certified Solutions Expert

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

lowRiderCommented:
Your page is timing out.

Try putting this at the top of the page:

<% Server.ScriptTimeout = 3600 %>

or set the asp script timeout value in the site setup. I had to set ours to 9600 for it to work.


lowRider

probelawAuthor Commented:
Changing the timeout value to 3600 or even 9600 did not work.  It still returns the error for larger files.
juliandormonCommented:
I am experiencing a similar issue. Did you resolve it? If so how? Thaks!
dotecCommented:
GaryC123 wrote:
Are you using Win 2003?  If so there is a default file upload size limit, but you can change it.

But how can I change this default size?

probelawAuthor Commented:
No, this is on win2k system.
BHertzigerCommented:
I am also having this problem both on Win2k and Win2k3 systems.  I have confirmed as much as I can with Persits, but they keep directing me back to their website with the same answers.

I have increased my Server.ScriptTimeout to 1200 (is that minutes or seconds?)

I have tried both t he Upload.Save and Upload.SaveVirtual methods with no change.  In my case, I'm saving to a common storage area on our database server (I run load-balanced webservers, so storing locally is not an option).

I can also upload huge files locally without error, but smaller files remotely do fail.  I have had failures with 8MB files and 72MB files from the same user on the same connection (shared T1).

Is it enough to specify the Server.ScriptTimeout on the same page before the "Upload.Save" is called, or is it specified elsewhere  to affect that?

I keep figuring it's something I'm doing since this is one of the most popular components, and it woudn't be if it failed like this for everyone ...you're assistance is appreciated.
juliandormonCommented:
Ok. Well it seems to be just one of those bugs - perhaps traffic related - but as far as i can tell there is no real answer for this - however there is a component called HugeASP upload - which seems to solve the problem in my tests - though I haven't put it to commercial use yet. I suggest you give this a go. BTW, when I spoke with Persits about this a long time ago - I more or less got the answer I gave just gave you (minus the bit about the competitor's product)!
BHertzigerCommented:
I finally did find a combination that allowed the large uploads without error.

The Server.ScriptTimeout setting is in seconds, not minutes as I was first lead to believe (and I'm sure it makes sense now).  So the script would time out in 20 minutes before, and one upload was lasting 54 minutes.

I have changed the timeout setting to 7000 (116 minutes), and the user was able to upload without issue.

Based on this, I would recommend those using these components to set that value some percentage over the maximum number of seconds an upload might take.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
masirofCommented:
No comment has been added to this question in more than 21 days, so it is now classified as abandoned..
I will leave the following recommendation for this question in the Cleanup topic area:
Accept: BHertziger

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

masirof
EE Cleanup Volunteer
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP

From novice to tech pro — start learning today.