PostData() Method (FtpUpload)
In This Topic
Sends data to the FTP server.
Syntax
'Declaration
Public Function PostData() As Boolean
Return Value
true if upload process was started successfully, false otherwise.
Exceptions
Remarks
This method initializes asynchronous file uploading process and file will be uploaded to the server only when the Completed event will be generated or value of the StatusCode property will be set to StatusCode.Completed.
An uploading process can be aborted with the Abort method.
Example
This C#/VB.NET code shows how to upload TWAIN cquired image to FTP server.
Private _ftpUpload As Vintasoft.Twain.ImageUploading.Ftp.FtpUpload = Nothing
Private _isDataSending As Boolean
''' <summary>
''' Uploads TWAIN acquired image to FTP server.
''' </summary>
Public Sub UploadTwainAcquiredImageToFtpServer(acquiredImage As Vintasoft.Twain.AcquiredImage)
Try
_isDataSending = False
' create FTP uploader
_ftpUpload = New Vintasoft.Twain.ImageUploading.Ftp.FtpUpload()
' subscribe to the events
AddHandler _ftpUpload.StatusChanged, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Ftp.StatusChangedEventArgs)(AddressOf _ftpUpload_StatusChanged)
AddHandler _ftpUpload.ProgressChanged, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Ftp.ProgressChangedEventArgs)(AddressOf _ftpUpload_ProgressChanged)
AddHandler _ftpUpload.Completed, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Ftp.CompletedEventArgs)(AddressOf _ftpUpload_Completed)
' set FTP upload parameters
_ftpUpload.Host = "ftp.test.com"
_ftpUpload.User = "user"
_ftpUpload.Password = "password"
_ftpUpload.PassiveMode = True
_ftpUpload.Timeout = 2000
_ftpUpload.Path = "/images/"
_ftpUpload.AddFile("scan.jpg", acquiredImage.GetAsStream(New Vintasoft.Twain.ImageEncoders.TwainJpegEncoderSettings()))
' post data to the server
_ftpUpload.PostData()
Catch ex As System.Exception
System.Console.WriteLine(ex.Message)
End Try
End Sub
''' <summary>
''' Status of FTP uploading is changed.
''' </summary>
Private Sub _ftpUpload_StatusChanged(sender As Object, e As Vintasoft.Twain.ImageUploading.Ftp.StatusChangedEventArgs)
' show current upload status in the status string
System.Console.WriteLine(e.StatusString)
End Sub
''' <summary>
''' FTP uploading is in progress.
''' </summary>
Private Sub _ftpUpload_ProgressChanged(sender As Object, e As Vintasoft.Twain.ImageUploading.Ftp.ProgressChangedEventArgs)
' show the size of uploading data (once per upload)
If Not _isDataSending Then
System.Console.WriteLine(String.Format("Total bytes: {0}", e.BytesTotal))
_isDataSending = True
End If
' show current upload progress, in bytes, in the status string
System.Console.WriteLine(String.Format("Bytes uploaded: {0}", e.BytesUploaded))
End Sub
''' <summary>
''' FTP uploading is completed.
''' </summary>
Private Sub _ftpUpload_Completed(sender As Object, e As Vintasoft.Twain.ImageUploading.Ftp.CompletedEventArgs)
If e.ErrorCode = Vintasoft.Twain.ImageUploading.Ftp.ErrorCode.None Then
System.Console.WriteLine("FTP: Image is uploaded successfully!")
Else
System.Console.WriteLine(String.Format("FTP error: {0}", e.ErrorString))
End If
End Sub
Vintasoft.Twain.ImageUploading.Ftp.FtpUpload _ftpUpload = null;
bool _isDataSending;
/// <summary>
/// Uploads TWAIN acquired image to FTP server.
/// </summary>
public void UploadTwainAcquiredImageToFtpServer(Vintasoft.Twain.AcquiredImage acquiredImage)
{
try
{
_isDataSending = false;
// create FTP uploader
_ftpUpload = new Vintasoft.Twain.ImageUploading.Ftp.FtpUpload();
// subscribe to the events
_ftpUpload.StatusChanged += new System.EventHandler<Vintasoft.Twain.ImageUploading.Ftp.StatusChangedEventArgs>(_ftpUpload_StatusChanged);
_ftpUpload.ProgressChanged += new System.EventHandler<Vintasoft.Twain.ImageUploading.Ftp.ProgressChangedEventArgs>(_ftpUpload_ProgressChanged);
_ftpUpload.Completed += new System.EventHandler<Vintasoft.Twain.ImageUploading.Ftp.CompletedEventArgs>(_ftpUpload_Completed);
// set FTP upload parameters
_ftpUpload.Host = "ftp.test.com";
_ftpUpload.User = "user";
_ftpUpload.Password = "password";
_ftpUpload.PassiveMode = true;
_ftpUpload.Timeout = 2000;
_ftpUpload.Path = "/images/";
_ftpUpload.AddFile("scan.jpg", acquiredImage.GetAsStream(new Vintasoft.Twain.ImageEncoders.TwainJpegEncoderSettings()));
// post data to the server
_ftpUpload.PostData();
}
catch (System.Exception ex)
{
System.Console.WriteLine(ex.Message);
}
}
/// <summary>
/// Status of FTP uploading is changed.
/// </summary>
private void _ftpUpload_StatusChanged(object sender, Vintasoft.Twain.ImageUploading.Ftp.StatusChangedEventArgs e)
{
// show current upload status in the status string
System.Console.WriteLine(e.StatusString);
}
/// <summary>
/// FTP uploading is in progress.
/// </summary>
private void _ftpUpload_ProgressChanged(object sender, Vintasoft.Twain.ImageUploading.Ftp.ProgressChangedEventArgs e)
{
// show the size of uploading data (once per upload)
if (!_isDataSending)
{
System.Console.WriteLine(string.Format("Total bytes: {0}", e.BytesTotal));
_isDataSending = true;
}
// show current upload progress, in bytes, in the status string
System.Console.WriteLine(string.Format("Bytes uploaded: {0}", e.BytesUploaded));
}
/// <summary>
/// FTP uploading is completed.
/// </summary>
private void _ftpUpload_Completed(object sender, Vintasoft.Twain.ImageUploading.Ftp.CompletedEventArgs e)
{
if (e.ErrorCode == Vintasoft.Twain.ImageUploading.Ftp.ErrorCode.None)
System.Console.WriteLine("FTP: Image is uploaded successfully!");
else
System.Console.WriteLine(string.Format("FTP error: {0}", e.ErrorString));
}
Requirements
Target Platforms: .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
See Also