We help IT Professionals succeed at work.

AspSmartUpload problem when checking file size error 800a0005 invalid procedure call or argument

huang_ck
huang_ck asked
on
Medium Priority
708 Views
Last Modified: 2008-01-09
Hi guys,

I have a very wierd problem, when i changed my upload script by add a checking file size before upload script, it gives this error:

Microsoft VBScript runtime Error '800a0005'

Invalid procedure call or argument: 'Left'

The below is the original script and works with NO problem:

'###############  UPLOAD   #############
                        
                        Dim objUpload
                        Dim file
                        Dim intCount
                        intCount=0
                        
                        Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
                        objUpload.Upload
                        
                  
                      dim loop_counter                                    
                        
                                                                                                
                        dim sqlPhoto_add, rsPhoto_add, strFileOne, photo_src, photo_name, photo_desc, photo_border                                                      
                                                                                                                        
            
                        loop_counter = 0
                        
                        for each file In objUpload.Files
                              if file.IsMissing then
                        %>
                              
                        <%
                                    
                              else
                                    
                                    file_name = file.filename
                                    Randomize
                                    rand = "_" & Int(Rnd*(9999 -1))            
                                    'file_folder = datepart("yyyy", now(), vbSunday, vbFirstJan1) & "-" & datepart("m", now(), vbSunday, vbFirstJan1) & "-" & datepart("d", now(), vbSunday, vbFirstJan1)
                                    file_name2 = Left(file_name, 4)
                                    file_name = Left(file_name2, InStr(1,file_name,".",1)-1) & rand & "." & file.FileExt
                                    file.SaveAs(getDirectory(FULL_PATH_HIRES & file_folder) & "\" & file_name)            
                        
                                    'msg = msg & "Name = " & file.Name & "\n"
                                    msg = msg & "filename = " & file.filename & "\n"            
                                    msg = msg & "FileExt = " & file.FileExt & "\n"
                                    msg = msg & "Size = " & file.Size & "\n"
                                    msg = msg & "FilePathName = " & file.FilePathName & "\n"
                                    msg = msg & "ContentType = " & file.ContentType & "\n"
                                    msg = msg & "ContentDisp = " & file.ContentDisp & "\n"
                                    msg = msg & "TypeMIME = " & file.TypeMIME & "\n"
                                    msg = msg & "SubTypeMIME = " & file.SubTypeMIME & "\n"
                                    
                                    intCount = intCount + 1
                                    res = createThumb(file_name)
                                    if (res = 0) then
                                    %>
                                          
                                    <%
                                    else            
                                    %>
                                          <script language='JavaScript'>
                                                alert("Create thumbnail fail. Please try again.");
                                                window.location="./photo_add_2.asp?id=<%= objUpload.Form("id").values %>";
                                          </script>                  
                                    <%
                                    end if
                                    
                                    sqlPhoto_add = "INSERT INTO FB_PhotoImage (PhotoCat_id,member_id,photo_src,photo_name,photo_desc,photo_border) VALUES ("& objUpload.Form("id").values &","& session("FB_UserID") &",'"& file_name &"','"& objUpload.Form("txtPhoto_name_"& loop_counter &"").values &"','"& objUpload.Form("txtPhoto_desc_"& loop_counter &"").values &"','"& objUpload.Form("optPhotoBorder_"& loop_counter &"").values &"')"
                                                                                          
                                    'response.Write(sqlPhoto_add)
                                    'response.Write("<br>")
                                    
                                    set rsPhoto_add = server.createobject("adodb.recordset")
                                    rsPhoto_add.cursorlocation = 3
                                    rsPhoto_add.open sqlPhoto_add, adoConn                                          
                                    
                              end if
                              loop_counter = loop_counter +1
                        next
'##################################################################

But then when i changed:

if file.IsMissing then
.                                    
.
.
else

TO

if file.Size > 256000 then
                                    %>
                                          <script language='JavaScript'>
                                                            alert("Your file size cannot exceed 250KB");
                                                            window.location="./photo_add_2.asp?id=<%= objUpload.Form("id").values %>";
                                          </script>
                                          
                                    <%                                                      
                                    
                              
                              else

It gives the errors, I have no idea why, is it because I attempt to use file.Size? Anyone know why?? Thanks~!
Comment
Watch Question

Commented:
to check file size pls refer

http://www.sitiasp.it/dllDoc/aspSmartUpload/help/FileObject.htm

Size

The Size property contains the file's size.

Syntax
.Size

Return Value
Returns a Long value.

Example
<%
Response.Write("Size=" & MyUpLoad.Files.Item(2).Size)
%>

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
CERTIFIED EXPERT
Top Expert 2006
Commented:
In your original script, change

if file.IsMissing then
.                              
.
.
else

to

if file.IsMissing then
.                              
.
.
elseif file.Size > 256000 then
%>
                                   <script language='JavaScript'>
                                                  alert("Your file size cannot exceed 250KB");
                                                  window.location="./photo_add_2.asp?id=<%= objUpload.Form("id").values %>";
                                   </script>
<%
else
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.