(1) ADODB.Stream is included with Microsoft Data Access Components (MDAC) 2.6 or above. This should be available on machines running Windows 2000 or above and I think it's part of the latest service pack for NT. However, I'm not very sure about anything below Windows 2000. You can get it as a download. The problem is that in order to utilize this component, you must either have "Initialize and script ActiveX controls not marked as safe" set to Prompt or Enable in IE's security. MSXML2.XMLHTTP is only available in XML 2.6 or above. This is a safe object so you can script it in IE without any problems. There is another XMLHTTP object you can script for older versions of XML: Microsoft.XMLHTTP. The later version is available to IE 5.5 SP2 browsers and above. The earlier version is available to IE 5.0 browsers. In order to overcome either situation try this:
var xmlhttp = null;
function window_onload() {
try {
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
} catch(e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} finally {
alert("This functionality is limited to IE 5.0 and above.");
(2) I tested it on a 91MB file and it failed. I think there is an inherent POST size limitation with IIS, but I'm not sure. I read somewhere that there isn't one, but that doesn't explain why it doesn't work. I can try to find out more if you like.
(3) You can scan the virus once it's been uploaded. As long as there isn't any kind of automatic execution of a file, it should be safe but I'm not promising anything.
(4) I don't know if there is any way to put a progress bar on this, but I haven't tried.
The best advice that I have for you is to develop an internet component, implement the IObjectSafety interface (allows for scripting without prompt or disable), and digitally sign it so it can be installed on the user's system. You would then use either the MS Internet Transfer Control or the MS Winsock control to send the file data to the remote server. That way, you can provide a progress bar as well. If you need more information on this, just let me know: phil_perkins_1@yahoo.com
Phillip Perkins