Link to home
Start Free TrialLog in
Avatar of probelaw
probelaw

asked on

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
%>
Avatar of Gary
Gary
Flag of Ireland image

Are you using Win 2003?  If so there is a default file upload size limit, but you can change it.
Avatar of probelaw
probelaw

ASKER

No...it's Win2k
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

Changing the timeout value to 3600 or even 9600 did not work.  It still returns the error for larger files.
I am experiencing a similar issue. Did you resolve it? If so how? Thaks!
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?

No, this is on win2k system.
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.
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)!
ASKER CERTIFIED SOLUTION
Avatar of BHertziger
BHertziger
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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