Uploader Installation Guide

ASP Uploader is 100% HTML and JavaScript code on the client, and ASP code on the server, and can be setup on your web server in just 5 minutes, simply by following this setup guide.

  • 1

    Deploying Uploader Client files.

    The "aspuploader" folder and all file it contains (located in the archive) should be deployed to http://{your site}/{your application}/aspuploader/ on your web site.

  • 2

    Adding Uploader into ASP page.

    1. <%Language="VBScript" %>  
    2. <!--Step 1: Register Uploader to your page -->  
    3. <!-- #include file="aspuploader/include_aspuploader.asp" -->  
    4. <html>  
    5. <body>  
    6.     <div>  
    7.     <%
    8.         'Step 2: Create Uploader object     
    9.         Dim uploader   
    10.         Set uploader=new AspUploader   
    11.         'Step 3: Set a unique name to Uploader
    12.         uploader.Name="myuploader"
    13.         uploader.SaveDirectory="savefiles"  
    14.         uploader.AllowedFileExtensions="*.jpg,*.png,*.gif"  
    15.         'Step 4: Render Uploader
    16.         uploader.Render()
    17.     %>  
    18.     </div>  
    19. </body>  
    20. </html>  

Step 3: Folder permissions

This is the step that accounts for most first-run failures. ASP Uploader needs write access to two folders, and to nothing else:

  • The temporary folder that incoming bytes are streamed into.
  • The destination folder you finally save files to — whatever you set SaveDirectory to, or the folder you pass to MoveTo.

The account that needs the permission is the application pool identity, not your Windows login. On IIS 7 and later it defaults to ApplicationPoolIdentity, which is the virtual account IIS AppPool\<YourAppPoolName>. Check it in IIS Manager under Application Pools → Advanced Settings → Identity, then grant Modify:

icacls "C:\inetpub\wwwroot\mysite\savefiles" /grant "IIS AppPool\DefaultAppPool":(OI)(CI)M

Or through the GUI: right-click the folder → PropertiesSecurityEditAdd, type IIS AppPool\DefaultAppPool, click Check Names, and tick Modify.

Grant Modify, not Full Control — the pool identity should not be able to change permissions. And remove script and execute permission from the upload folder so a stored .asp file can never run. See the upload security checklist.

Step 4: The licence file

The licence lives at aspuploader/license/aspuploader.lic and is read at runtime, so installing or replacing it is a file copy — nothing to register and no restart required.

  • The download package ships with a trial licence that expires after about 30 days. All features work exactly as they do in the full version.
  • After purchase you receive your own .lic file. Overwrite the trial one with it.

If you see License Error : (4) license expired!, the .lic file has passed its date — drop in a current one. Nothing else needs to change.

Step 5: IIS settings for larger files

The stock IIS configuration caps a Classic ASP request body at 200 KB, which is the single most common reason a working install rejects real files. Two independent limits apply and both must be raised:

<!-- web.config in your site root -->
<configuration>
  <system.webServer>

    <!-- Classic ASP limit. Bytes. Default 200000. -->
    <asp maxRequestEntityAllowed="1073741824" scriptTimeout="00:60:00" />

    <security>
      <requestFiltering>
        <!-- Request filtering limit. Bytes. Default 30000000. -->
        <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
    </security>

  </system.webServer>
</configuration>

Also set the application pool's Idle Time-out to 0 on upload-heavy sites, or IIS may decide the pool is idle and recycle it during a long transfer. Full detail in uploading large files in Classic ASP.

Step 6: Verify the installation

  1. Browse to your page. You should see the upload button rendered — if the page is blank, the include path is wrong.
  2. Upload a small image. The progress bar should appear and complete.
  3. Check that the file landed in your destination folder.
  4. Upload a file larger than 200 KB. If that fails where the small one worked, the IIS limits in step 5 have not been applied.
  5. Upload a file with a disallowed extension. It should be rejected in the browser, before transfer.
  6. Finally, save a file called test.asp into the upload folder by hand and request it. If it executes, fix the execute permission before going live.

Deploying to shared hosting

Because ASP Uploader is pure ASP, shared hosting needs no special treatment — there is no component to register and no administrator step. Upload the folder by FTP and confirm two things through your control panel:

  • Classic ASP is enabled for the site.
  • The upload folder has write permission. Most panels expose this as a per-folder checkbox.

If your host will not raise maxRequestEntityAllowed for you, a web.config in your own site root usually still works, since both settings are permitted at site level on a standard configuration.

Moving to a different server

Copy the site folder. That is the whole procedure — there is no registration to repeat and no machine-specific state, so the only things to re-check on the new box are the folder permissions from step 3 and the IIS limits from step 5.

If something does not work

SymptomMost likely cause
Blank page, or "File not found" on the includeThe aspuploader folder is not where the include path says it is
Permission denied (800a0046)The app pool identity has no Modify on the temp or destination folder
ASP 0104 Operation not AllowedmaxRequestEntityAllowed still at its 200 KB default
HTTP 404.13maxAllowedContentLength still at its ~28.6 MB default
License Error : (4)Expired .lic file — replace it
413 Request Entity Too LargeA proxy or CDN in front of IIS rejected the body

Every one of these, with the exact fix, is covered in Classic ASP upload errors and how to fix them.

Next steps

Trusted by

15,000 Customers

ASP Uploader has more than 15,000 customers, and has been sold in over 60 countries.

23 languages are supported, and more are being added.