Description
An HTTP-based web service is used for sending files from your application directly. This approach takes more programming effort but can result in a completely automated, integrated system. Since HTTP-based communication libraries are available for most modern development environments, no additional software is required on the client workstation. The sample code below is written in Visual Basic.NET using the WebRequest class.
Specifications are available online at:
http://magicvortex.com/httpapi/1/dispatch.vortex?Action=Help
Sample
To send files:
Imports System.IO
Imports System.Net
Imports System.Xml
Imports System.Web
...
Dim URL As String
Dim myWebRequest As WebRequest
Dim myFileStream As FileStream
Dim myReader As BinaryReader
Dim myWriter As BinaryWriter
Dim byteBuffer(9999) As Byte
Dim intBufferSize As Integer
URL = "https://magicvortex.com/HTTPAPI/1/dispatch.vortex?Action=Send" & _
"&Filename=FileToSend.dat&Recipients=recipient@abc.com"
myWebRequest = WebRequest.Create(New Uri(URL, True))
myWebRequest.Method = "POST"
myWebRequest.Timeout = 36000000
myWebRequest.PreAuthenticate = True
myWebRequest.Credentials = New NetworkCredential("sender@abc.com", _
"password")
myFileStream = New FileStream("C:\Path\FileToSend.dat", FileMode.Open, _
FileAccess.Read, FileShare.Read)
myReader = New BinaryReader(myFileStream)
myWebRequest.ContentLength = myReader.BaseStream.Length
myWriter = New BinaryWriter(myWebRequest.GetRequestStream())
Do
intBufferSize = myReader.Read(byteBuffer, 0, 10000)
If intBufferSize > 0 Then myWriter.Write(byteBuffer, 0, intBufferSize)
Loop While intBufferSize > 0
myWriter.Close()
myReader.Close()
Pros
- Works on any platform
- Both sending and receiving files are supported
- No software is required on user's computer (i.e., "zero footprint")
Cons
- No "facilitated streaming" (i.e., sending must complete without interruption before receiving can commence)
- Complex implementation