Transfer compressed file from client to server using IE (special upload) | ||
| Sample for ScriptUtils.ZLib |
| 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", "http://www.testwebsite.com/accept.asp"
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
'DoEvents
'Sleep 100
Loop
'Quit Internet explorer
IE.Quit
End Sub
<%
'Accept.asp
'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
%> | |