ABCUpload is an advanced piece of software. The default settings are generally all you will need but if you require you can add in a configuration section to the web.config file to fine-tune your upload.

Web.Config Structure

There are three sections within the abcupload section group - the notes section, the queryfields section and the advanced section. This is an example of a configuration file you might use. In this case all fields are set to their default values.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<sectionGroup name="websupergoo.abcupload">
<section name="advanced" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="notes" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="queryfields" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</sectionGroup>
</configSections>

<websupergoo.abcupload>
  <advanced
    enableProgressBar="true"
    fixCorruptUploads="true"
    enableLargeUploads="true"
    multiThreaded="true"
    optimization="true"
    chunkSize="8192"
    tempDirectory=""
    logExceptions="true"
    serial=""
  />
  <notes
    exception = "An error occurred. {0}"
    connecting = "Connecting..."
    gettingSize = "Getting upload size..."
    checkingSize = "Checking upload size..."
    preloading = "Getting preloaded data..."
    transferring = "Transferring data..."
    finishing = "Finishing..."
    uploadStopped = "Upload stopped unexpectedly..."
    uploadTooLarge = "Upload size is greater than the maximum allowed..."
  />
  <queryfields
    uploadID = "UploadID"
    dumpPath = ""
  />
</websupergoo.abcupload>

<system.web>
... web configuration section

Notes Section

The notes section allows you to change the notes displayed in the Pure HTML Progress Bar.

Attribute   Description
connecting The text to use before the first chunk of data from the upload has been received.
gettingSize The text to use while the size of the upload is being established.
checkingSize The text to use while the size of the upload is being checked.
preloading The text to use while the first chunk of data is being received.
transferring The text to use while subsequent chunks of data are being received
finishing The text to use when all the data has been received and the upload is being processed.
uploadStopped The text to use if data transfer terminated prematurely (typically if the visitor clicks on the stop button during an upload).
uploadTooLarge The text to use if the upload was larger than the value specified as part of the httpRuntime maxRequestLength.
exception The text to use if an unexpected exception occurs. The exception message is displayed in place of the string "{0}".

QueryFields Section

The queryfields section gives you control over the query fields that ABCUpload checks for in the URLs of posted forms. It is extremely unlikely that you will need to change these fields.

Attribute   Description
uploadID The query string field to use to determine the ID for the upload.
dumpPath The query string field to use to determine the path for an upload dump file to be used in place of the posted data.

Advanced Section

The advanced section allows you to change internal parameters used within ABCUpload.

Attribute   Description
enableProgressBar

This value defaults to true to indicate that the Progress Module should intercept ongoing uploads. When set to false the ABCUpload will pass through all uploads without interception.

fixCorruptUploads

This value defaults to true to indicate that the Progress Module should fix corrupted uploads when they are intercepted. When set to false the upload data is passed through unmodified.

enableLargeUploads

This value defaults to true to indicate that GigUpload should be enabled.

When GigUpload is enabled you should use the Upload object Files collection in place of the HttpUpload Files collection. If you want full interoperability between the Progress Module and the standard HttpRequest Files collection you can set this value to false.

You should be using the Pure HTML Progress Bar if you want to enable GigUpload. The Progress Module is required so that the ongoing upload can be intercepted. The query string upload ID is required so that ABCUpload can distinguish between file upload queries and other web page queries.

In the example web site this attribute is set to true.

multiThreaded

The default behavior is to process upload data on a separate thread from the one that receives it. Set this attribute to false to process and receive data on the same thread.

optimization

The default behavior is to use custom heuristics for accelerated processing of uploads. Set this attribute to false to disable these heuristics.

chunkSize

The chunk size determines how much upload data is read at one time. It effectively determines the granularity of the progress bar. Smaller values allow greater precision in keeping track of progress but place a greater overhead on the server. The default value is 8192 (0x2000) bytes which means that the progress bar will increment in chunks 8 KB in size.

tempDirectory

The temporary directory to use if GigUpload is enabled.

logExceptions Exceptions are always passed through to the ASPX page. If you set this attribute to true then all exceptions from within ABCUpload will be logged in the Application Event Log before being re-thrown.
serial

You will normally install a serial key for ABCUpload by entering it into the ABCSettings application. However on shared servers this may not be possible and instead you may wish to register the serial key by entering it into your web.config file.

You can either enter a full license key which you will be sent when you purchase or you can insert a trial license key copied from ABCSettings.