Transfer compressed file from client to server using IE (special upload)

Sample for ScriptUtils.ZLib | Changes | Purchase | Download


Transfer compressed file from client to server using IE (special upload) 
'Client-side upload function
'You can use this function in VBS or VBA (VB5, VB6, Word, Excel, ...)
'UploadFile "F:\RM20001124.TXT", ""
Sub UploadFile(FileName, URL)
  Dim IE 'As New shdocvw.WebBrowser
  Set IE = CreateObject("InternetExplorer.Application")
  IE.Visible = True
  Dim FileContents, ZLib
  Set FileContents = CreateObject("ScriptUtils.ByteArray")
  Set ZLib = CreateObject("ScriptUtils.ZLib")
  'Read the source file
  FileContents.ReadFrom FileName
  'Compress source data
  Set FileContents = ZLib.Compress(FileContents.ByteArray)
  'Initiate transfer the file to the destination URL
  IE.Navigate URL, , , FileContents.ByteArray, "FileName: " & FileName & vbCrLf
  'Wait until IE finishes transfer
  Do While IE.Busy
    'Sleep 100
  'Quit Internet explorer
End Sub

'Server-side function
'This function accepts and saves uploaded data compressed by the Compress method on the servers ASP
'Call ReceiveFile
Sub ReceiveFile()
  Dim FileName, FileContents, ByteArray
  'Test if this is request from our client
  FileName = Request.ServerVariables("HTTP_FILENAME")
  If FileName <> "" Then 'This is a request from our client
    Set FileContents = CreateObject("ScriptUtils.ByteArray")
    Set ZLib = CreateObject("ScriptUtils.ZLib")
    'Read compressed file from the source stream
    FileContents.ByteArray = Request.BinaryRead(Request.TotalBytes)
    'Uncompress the source file
    Set FileContents = ZLib.UnCompress(FileContents.ByteArray)
    'Save source file to the destination directory (current directory)
    FileContents.SaveAs Server.MapPath(GetFileName(FileName))
  End If
End Sub

Function GetFileName(FullPath)
  'Returns file name from full path
  Dim Pos
  Pos = InstrRev(FullPath, "\")
  GetFileName = Mid(FullPath, Pos + 1)
End Function

Other links for the Transfer compressed file from client to server using IE (special upload) sample


Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 4GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

© 1996 - 2011 Antonin Foller, Motobit Software | About, Contacts | e-mail:

Other Motobit links:   IISTracer, real-time IIS monitor   ASP file upload - upload files to ASP. 
ActiveX/VBSScript registry editor  ActiveX NT User account manager  Export MDB/DBF from ASP Active LogFile  Email export  ActiveX/ASP Scripting Dictionary object