Comparison of File Upload Tools Available from Chestysoft

At Chestysoft we have several products that work with uploading files and this page is intended to clarify what we have and what they do. The term File Upload is ambiguous because there are two sides to an upload. An upload must be sent from the client and it must be saved on a server. Transferring files between servers can sometimes be classed as an upload. The two transfer methods that we deal with are HTTP and FTP.

Client Side ActiveX Controls for Sending an Upload

csXThumbUpload - This is a powerful tool for allowing a user to select multiple files from a local folder. It can be used with any file but it has special functionality for images. It can show image files as a thumbnail preview and it can perform some batch editing before uploading. It can resize images before uploading and can optionally preserve metadata. It supports HTTP and FTP.

csXMultiUpload - This is a simple tool allowing a user to select multiple files for upload. It can accept files selected by drag and drop. Files are uploaded by HTTP.

csXPostUpload - This is intended for uploading batches of files from a specific location. It can be operated programmatically to select and upload files and to move and delete them afterwards. The access it gives the developer to the local file system makes it unsuitable for many web applications and it is the only ActiveX control we do not supply digitally signed. It saves its settings after use in an .ini file so it can remember the last folder used and any filtering that was set by the user. Files are uploaded by HTTP.

csXImage - This ActiveX control for displaying and editing images that can upload the image currently being displayed. It supports scanning through Twain so it can be used to scan images on a client and upload to a remote server. It supports HTTP and FTP.

WebTwainX - This is published by Ciansoft. It is based around the functionality of csXImage described above but has a built in user interface for scanning and uploading images from a web browser application. This built in interface means that far less client side coding is required compared with csXImage at the expense of versatility. Files are uploaded by HTTP.

All the above controls upload files singly when using HTTP, even when they are looping to upload a batch. Any server side script receiving the files receives on file at a time. They all support authentication.

The most common environment that uses the above controls are web browser applications, but they can also run in compiled form based applications, such as Visual Basic or Delphi, or even a VBA application such as Microsoft Access.

Server Side ASP and ASP.NET Components for Saving an Upload

csASPUpload - A classic ASP component for saving uploads sent by HTTP. It can save multiple files and read form variables. Files can be saved to disk or to a binary variable, such as a database BLOB field. Although classic ASP has been around a long time it is still widely used and it has no built in functionality of its own to save HTTP uploads.

csNetUpload - An ASP.NET class for saving uploads sent by HTTP. It can save multiple files. Files can be saved to disk or to a binary variable, such as database BLOB field. It is not really needed for normal form based uploads and was developed for use with our uploading ActiveX controls.

ASP Components for Transferring Files Between Servers

csFTPQuick - An ASP component that can be used in other environments. It can send files to and from an FTP server. The ability to use this component from VBS or WSH makes it useful for running automated file transfers as part of a Scheduled Task.

csASPUpload - As well as saving files as described above, csASPUpload can POST files to another server by HTTP. If you have an old version you may need to upgrade to use this functionality.