The previous article was about uploading files using VBA and IE. But what to do if you have only VBS (in WSH, IE or ASP)? VBS does not have functions which can work with binary data so you cannot read contents of a file from disk.
But you can use several objects which lets you work with binary data (one of them is also on this site, ScriptUtilities). ADODB, which is included in a free microsoft data access sofware (MDAC), enables the work with binary data also.
You can use ScriptUtils.ASPForm to accept uploaded files in ASP. ScriptUtils.ASPForm contains hi-performance, low resources consumption algorithm which can accept up to 2GB of data.
As you probably know, Microsoft has one free DLL, namely CPSHOST.DLL, with which you can upload files. It requires a folder with write permissions since it is there where the file(s) will be posted (saved) when they arrive to the Web server (IIS). Another drawback is that you are focusing only on file uploading and not on other uploading possibilities. Remember, when you upload a file, you can also upload (post) any other inputs, such as the input file, input checkbox, input password, and input image, etc. And you can check their value just as if you were posting an ordinary form.
So when you upload a file you are really posting a form's content to the browser by using a different encoding type (enctype) in your form. That encoding is specified as enctype="multipart/form-data" as an attribute of your form.
The specification in RFC 1867 "Form-based File Upload in HTML" describes the mechanism by which a file may be uploaded from a Web browser to the server.
ASP does not allow you to use IO system to modify on files and folders. But with the help of FileSystem object you can delete any file on your server. Do not forget to double check permissions for this operation.
Why should you let visitors upload pictures onto your Web site?
Well lets take a couple of examples. People renting their holiday homes might like to display a picture of the property on a Web site. News sites might like to allow people to send them pictures of events in their area. Ideally we would like the visitor to be able to upload these pictures themselves using their standard Web browser.
Unfortunately images come in thousands of different formats, shapes, colors and sizes; almost none of which will mesh in with your beautifully designed site. This article is about how we can best solve this problem. To do this we will have to search down into the depths of HTML and ASP.
Digging down, the first gem we find is HTML upload. This is based around a standard, but vastly underused, HTML form element. When you put it into a form on a Web page it allows you to choose a file. When you submit the form, the file is sent to the Web server. What could be more perfect?
The second gem we find is the vast range of Active Server Page Extensions that exist on the market. These ActiveX controls add extra functions to the standard Active Server Page repertoire and can be accessed from simple scripting languages such as VBScript. The ASP Extension we will use here is the ImageGoo (http://www.websupergoo.com) Web graphics toolkit as it incorporates everything we need in one package.
This article illustrates some great uses of the File System Object. It shows how to choose a drive to search, and then builds a listbox of all the folders on that drive. Choose a folder and it builds a listbox of all the files in that folder. Choose a File and it will display it in the browser or prompt you to save the file to your hard drive.
Joining mailing list will entitle you
to receive occasional emails informing you of news and
updates to the site and any special offers that may be
of interest to you.