Chapter 1: Introduction & Quick Start

Contents

1.1 What is AspUpload?

AspUpload is a COM+ component which enables an ASP application to capture, save and process files uploaded to the web server with a browser. The files are selected for uploading via an HTML POST form using the <INPUT TYPE=FILE> tag.

With AspUpload, you can add file upload functionality to your Web application in as little as 2 lines of ASP script. In addition to uploading, AspUpload offers a wide range of file management functions, including secure downloading, saving files in the database, permission and attribute management, image size extraction, file encryption, etc.

1.2 What's New in AspUpload 3.0

  • An HTML-based progress bar. You no longer need to rely on ActiveX controls or Java applets to offer an accurate and detailed progress indicator to your users.
  • Support for large files. You can now upload files up to 2 GB in size.
  • Improved performance. AspUpload 3.0 uses a different approach in processing uploaded files which consumes much less CPU and memory resources of your Web server.
  • Unicode support. The new version handles Unicode characters in text fields and file names.
  • Registration key system. AspUpload 3.0 now uses registration keys, just like all other Persits components. Instead of two separate versions (eval and full) there is a single version of the component downloadable from the Web site. Applying a registration key to an eval version turns it into the full version.
  • A single Save method. The old methods Save, SaveToMemory and SaveEncrypted are all combined into a single method, Save, with multiple optional parameters. The old methods are still supported for backwards compatibility.
  • New object properties such as Version, RegKey, TotalBytes, TotalSeconds, File.LastModified, etc.
  • Full backwards compatibility. No code changes are necessary when integrating the new version into an existing application.

1.3 Feature Summary

  • Compatibility with all versions of IIS (Window NT / 2000 / XP / 2003 / 2008 / 7 / 8 / 2012 / 2016 / 2019 / 2022).
  • Files up to 4 GB in size can be uploaded (AspUpload 3.1.0.1 and IIS 7+ required.)
  • Ability to upload multiple files at once.
  • Access to text items on the form.
  • HTML-based progress bar.
  • Unicode suppport.
  • Uploads to memory.
  • Secure file downloading.
  • Ability to manipulate the Access Control Lists (ACLs) of uploaded files.
  • Ability to change file attributes.
  • Ability to save files in the database as blobs.
  • Support for MS Access OLE Object headers.
  • Ability to export files from the database.
  • Automatic generation of unique file names to prevent collisions with existing files.
  • Ability to put a limit on the size of files being uploaded.
  • Ability to preserve files' "Last Modified" timestamp.
  • Encryption support.
  • Directory listing with sorting.
  • Automatic ActiveX DLL registration.
  • Ability to disable certain features via registry settings.
  • File copying, moving and deletion.
  • Directory creation and deletion.
  • Full ADO support when handling blobs.
  • MacBinary support.
  • Directory uploads (when used with XUpload or JUpload).
  • Image size and type extraction functionality.
  • One-way hash function computation for uploaded files.

1.4 System Requirements

Windows NT 4.0 and IIS 4, or
Windows 2000/XP and IIS 5, or
Windows 2003 and IIS 6, or
Windows Vista and IIS 7, or
Windows 2008 and IIS 7, or
Windows 7 and IIS 7.5, or
Windows 8/2012 and IIS 8, or
Windows 10, 2016, 2019, 2022, etc..

1.5 Installation Procedure

To install AspUpload, download and run the setup application aspupload.exe. The aspupload.exe setup will install both the AspUpload component (aspupload.dll) and all the documentation into a directory on your hard drive that you specify during installation. Typically, it is c:\Program Files\Persits Software\AspUpload, but it can be any other directory.

The install routine will automatically register the component DLL on your machine. During installation, your IIS-related services will be shut down and restarted.

If you need to move the AspUpload component to another server, it is sufficient to copy the file aspupload.dll (located under the \Bin subdirectory of the installation) to the other machine and register it there using the regsvr32 command-line utility. You may copy the file aspupload.dll to any folder on the second server's hard drive, e.g. c:\winnt\system32. To register the dll, run the MS DOS prompt and type the command

c:\>regsvr32 c:\windows\system32\aspupload.dll

You should specify another path if necessary. If this server is already running an older version of AspUpload, you must remove it from memory prior to registering a newer version by shutting down all IIS services. To do that, type the following command at your DOS prompt:

c:\>net stop iisadmin /y

To bring the WWW service back up, type the command

c:\>net start w3svc

Other IIS services (such as FTP, SMTP, NNTP, Site Server, etc) can be restarted from the Services control panel.

The downloadable version of AspUpload will be fully functional for 30 days after installation and require a registration key afterwards. Once an AspUpload registration key is purchased, it should be installed in the system registry on the server (instructions will be sent to you via email along with the key).

Alternatively, a registration key can be specified in your ASP code via the Upload.RegKey property.

When switching from an eval to the full version, AspUpload does not have to be re-installed, or IIS restarted. To purchase an AspUpload registration key, visit www.aspupload.com/purchase.html.

1.6 IIS 7.0+ Size Limit Configuration

In IIS 7.0+ and higher, the default file size limit may need to be increased via the requestLimits configuration parameter. The file web.config for your application (or machine.config, if appropriate) needs to be modified as follows:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   ...
   <system.webServer>
      <security>
         <requestFiltering>
            <requestLimits maxAllowedContentLength="524288000" />
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

Alternatively, this parameter can be modified in IIS Manager under Management/Configuration Editor, the section

system.webServer/security/requestFiltering

1.7 Installing aspupload.dll under Component Services

AspUpload can be used under Microsoft Component Services (COM+). When registering AspUpload product under Component Services, you must enable the Allow IIS intrinsic properties checkbox under the Advanced tab of the component's properties, as follows:

Failure to do so may result in an exception as AspUpload relies on intrinsic IIS properties.

1.8 About Code Samples

All the code samples shipped with AspUpload can be found under the \Samples directory of the installation in their respective sub-directories. Each subdirectory corresponds to a chapter of this manual. A complete index of code samples can be found in the file \Samples\SAMPLE_INDEX.HTM.

The AspUpload.exe setup program creates the virtual folder /AspUpload on top of the \Samples directory so that you can run the sample files from your browser using URLs such as

If necessary, replace the word "localhost" with the name or address of your server.