The following is a demo of a real-time upload progress monitor for Cold Fusion and ASP. The progress monitor
will work under any version of Cold Fusion with C/C++ CFX extensions enabled.
Cold Fusion must be running under Windows NT 4.0 Server or later with Microsoft IIS 4.0 or later.
Progress upload monitor uses a high performance ISAPI filter installed on the IIS and a CFX tag
that obtains information about the status of the uploading process. The progress display is
programmed in Cold Fusion and can use any presentation technology to provide a feed-back to client's browser.
In demos below we use a simple JavaScript generated by the Cold Fusion monitoring program. Frames,
iframes, animated GIFs, Java Applets, etc. can be freely used instead of the most obvious approach that we used
for the demo.
The Upload Monitor also implemented, as a COM-object. Therefore it can be used in ASP, or in any other
COM-enabled environment.
The monitoring filter can abort the uploading process, if the uploaded file exceeds specified size.
If the upload is broken, when user hit "Stop" button, for example, the Cold Fsuion monitoring program
will be informed and can take necessary actions, if needed.
The main program that uploads the data using CFFILE tag, doesn't know anything about the monitoring
process and does not require any additional programming. Of course, you can use Cold Fusion to monitor
any uploads, regardless of the application that actually executes the uploading process. You can
use ASP to monitor uploads executed in any other environment.
Unlike most known general-purpose upload monitors that try to analyze the size of file being uploaded on the disk
(if there is a file at all), this implementation takes statistics directly from the Internet server
input stream and does not access any storage devices. The server part of the monitor is application-independent.
Therefore, it can be used with all Internet applications: ASP, .NET, PHP, Perl, and others.
The uploads monitoring filter, Cold Fusion CFX tag, and UpMonitor COM-object were written in Assembler and were highly optimized
to ensure the minimal possible impact on the overall performance. Absolutely no Java, VB, MFC, .NET, or dependencies
on any run-time library.
Feel free to test below. We delete all uploaded files immediately. Download your copy here.