PureASP upload - using, features, functionality, notes. Article

Member of  ScriptUtils.ASPForm | Changes | Purchase | Download

PureASP upload - using, features, functionality, notes.

Personal notes, requirements, differences between pureasp upload script and Huge ASP upload component, pureasp upload implemented classes, methods and properties.

See also
Huge ASP upload and Pure ASP upload, compare features.
Huge-ASP or Pure-ASP file upload?
PureASP upload - using, features, functionality, notes.
Upload - performance tests.

 Some personal notes about 2.0 version of PureASP upload   
 

      New version of PureASP upload was intended as free promo software for Huge ASP file upload component. I created ASPForm, FormFields and FormField VBS classes with same properties and methods as Huge ASP upload has. Then I've worked on a new store algorithm and progress bar feature. At the last I was working on performance tests.

      And then I reveal very bad thing - Pure-ASP upload performance is much, much better than I expect. I can upload more than ten megabytes without problems and the upload time was in acceptable range. Do you ask why is this a bad thing? Who will buy Huge-ASP upload when Pure-ASP will be almoust enough?

      Previous versions of PureASP upload cope some megabytes. So I have to decide: Hide Pure-ASP upload to a drawer and go to another work, mask the great performance using some "do loop" or publish the VBS code for free with limited usage right.

      My decision was to release Pure-ASP upload for free use, but with limmited size you can upload for free - You can use Pure-ASP upload to upload up to 10MB files for free. If you want to upload bigger files, you have to buy Huge-ASP file upload license.

      Pure ASP file upload cannot have full functionality of Huge ASP upload COM component, of course - the code is written in VBS, Huge ASP upload component is a C++ code. Pure ASP file upload lets you upload bigger files now, but it consumes several times more resources than Huge ASP upload. PureASP upload takes 3 bytes per source form byte - 300MB of memory for 100MB file - against of Huge ASP upload component. Huge ASP upload component takes about 100kB of memory per upload - up to 2GB. PureASP upload does not have some other important functionality - code pages (unicode, mac), large database fields insertion, etc.

 Pure-ASP 2.0 upload requirements   
 

      New version of PureASP upload was implemented using ADODB.Stream, ADODB.Recordset  and Scripting.FileSystemObject. These objects are required on the server.
      PureASP upload requires BinaryRead method of Request object. So it will not work on some very old versions of ASP (<1.3 I think).
      PureASP upload usess Class feature of VBS v.5. So you will need at least this version of VBS engine installed (IIS4).
      You will also need Huge-ASP upload license to upload files with size greater than 10MB.

Huge-ASP or Pure-ASP file upload?

See also
Huge ASP upload and Pure ASP upload, compare features.
Huge-ASP or Pure-ASP file upload?
PureASP upload - using, features, functionality, notes.
Upload - performance tests.

Question

       Hi, I'm looking at your site and I'm thinking about buying a distribution copy of Huge-ASP upload. I need to transfer 20-100 meg files, y'see, so I really want to use Huge ASP, and I don't understand the difference with Pure-ASP upload. Except that your site says Huge ASP is better for that kind of thing.

Resolution

  •        Pure-ASP upload is is a plain VBS script file (_upload.asp) using objects installed by default in IIS - Scripting and ADODB library. So you do not need to install any additional software. Pure-ASP upload implements most of Huge-ASP upload functionality - methods and properties. You can use the same source code for Pure-ASP and Huge-ASP upload. 
    But the Pure-VBS code has also Pure-Performance and it is very hungry for system resources - memory and processor resources. The code has one more great characteristic - it is free to use. You can use Pure-ASP upload when
     - you need upload only small files (up to megabytes, exceptionally 10th of MB)
     - your provider does not enable to install external components
     - you have small number of concurrent uploads

           Pure-ASP upload is a VBS class. You have to include VBS code and then you can create ASPForm object using New:

    <!--#INCLUDE FILE="_upload.asp"-->
    <%
    Dim Form
    Set Form = New ASPForm
    %>
    

  •       Huge-ASP upload is a high-performance, low resources consumption C++ component with unique algorithm. The component is designed to accept forms of any size (from bytes to gigabytes) with maximum eficiency. Please use Huge-ASP upload in any other case.
           Huge-ASP upload is COM object (created from C++ ATL library). You can create the ASPForm object using CreateObject method of Server object:
    Dim Form
    Set Form = Server.CreateObject("ScriptUtils.ASPForm")
    

           Source code of ASP scripts usin Huge-ASP and Pure-ASP upload is almost same - the only difference is initialization of a Form object. So you can use Pure-ASP upload first for some time and then simply switch to Huge-ASP with changes on one row of source code.

    See also

    PureASP upload - using, features, functionality, notes.
  •  Implemented classes, methods and properties in PureASP file upload include  
     

    ASPForm
     Fully functional:
      ReadChunkReadSize, SizeLimit, UploadID, State, BytesRead, TotalBytes, NewUploadID
     Limited:
      FormType - only multipart forms
      Files, Texts, Items - you cannot enumerate collection using For Each. You have to use Items property for enumeration.
      ReadTime - time is rounded to seconds
      getForm - Returned form does not contain items (you cannot show progress of subsequent form fields in progress bar)
     Without functionality:
      ReadTimeout - not needed in VBS
      CharSet, TempPath, MaxMemoryStorage, SourceData
    FormFields
     Fully functional:
     SaveCount, Item
     Limited:
     
    Texts, Files - you cannot enumerate collection using For Each.
     Without functionality:
      MultiItem
    FormField
     Fully functional:
      SaveAs, Save, SourceLength, Name, ContentDisposition, ContentType, FileName, FilePath, Value, IsFile, Length
     Limited:
      ByteArray, String - you cannot get a part of byte array or string.
     Without functionality:
      CharSet, ContentTransferEncoding, RAWHeader, InProgress, HexString, Index,
            

     PureASP upload include and Huge ASP upload component usage   
     
          Huge-ASP upload is COM object (created from C++ ATL library). You can create the object using CreateObject method of Server object:
    Dim Form
    Set Form = Server.CreateObject("ScriptUtils.ASPForm")
    
    You can also use CreateObject function (ASPForm calls GetObjectContext then)
    Dim Form
    Set Form = CreateObject("ScriptUtils.ASPForm")
    
          Pure-ASP upload is a VBS class. You have to include VBS code and then you can create ASPForm using New:
    <!--#INCLUDE FILE="_upload.asp"-->
    <%
    Dim Form
    Set Form = New ASPForm
    %>
    

    Other links for PureASP upload - using, features, functionality, notes. article

    ScriptUtils

    Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 4GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

    © 1996 - 2011 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz


    Other Motobit links:   IISTracer, real-time IIS monitor   ASP file upload - upload files to ASP. 
    ActiveX/VBSScript registry editor  ActiveX NT User account manager  Export MDB/DBF from ASP Active LogFile  Email export  ActiveX/ASP Scripting Dictionary object