PostData() Метод (HttpUpload) 
 
            
                В этом разделе
            
            Sends data to the HTTP/HTTPS server by the POST method.
            
            
Синтаксис
            
            
            
            
            'Declaration
Public Function PostData() As Boolean
 
            
            
            
             
	Return Value
true if upload process was started successfully, false otherwise.
         
Исключения
Ремарки
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.
 
Пример
This C#/VB.NET code shows how to upload acquired image as JPEG file to HTTP server.
    
	
	    
	    
Private _httpUpload As Vintasoft.Twain.ImageUploading.Http.HttpUpload = Nothing
Private _isDataSending As Boolean = False
''' <summary>
''' Upload acquired image to HTTP server.
''' </summary>
''' <param name="acquiredImage"></param>
Public Sub UploadAcquiredImageAsJpegToHttp(acquiredImage As Vintasoft.Twain.AcquiredImage)
    Try
        ' create HTTP uploader
        _httpUpload = New Vintasoft.Twain.ImageUploading.Http.HttpUpload()
        ' subscribe to the events
        AddHandler _httpUpload.StatusChanged, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Http.StatusChangedEventArgs)(AddressOf _httpUpload_StatusChanged)
        AddHandler _httpUpload.ProgressChanged, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Http.ProgressChangedEventArgs)(AddressOf _httpUpload_ProgressChanged)
        AddHandler _httpUpload.Completed, New System.EventHandler(Of Vintasoft.Twain.ImageUploading.Http.CompletedEventArgs)(AddressOf _httpUpload_Completed)
        ' set HTTP upload parameters
        _httpUpload.Url = "https://demos.vintasoft.com/AspNetCoreTwainScanningDemo/api/ImageUploadApi"
        _httpUpload.AddTextField("user", "guest")
        _httpUpload.AddTextField("password", "guest")
        _httpUpload.AddFileField("file", "demo.jpg", acquiredImage.GetAsStream(New Vintasoft.Twain.ImageEncoders.TwainJpegEncoderSettings()))
        ' post data to the server
        _httpUpload.PostData()
    Catch ex As System.Exception
        System.Console.WriteLine(ex.Message)
    End Try
End Sub
''' <summary>
''' Status of HTTP uploading is changed.
''' </summary>
Private Sub _httpUpload_StatusChanged(sender As Object, e As Vintasoft.Twain.ImageUploading.Http.StatusChangedEventArgs)
    System.Console.WriteLine(e.StatusString)
End Sub
''' <summary>
''' HTTP uploading is in progress.
''' </summary>
Private Sub _httpUpload_ProgressChanged(sender As Object, e As Vintasoft.Twain.ImageUploading.Http.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>
''' HTTP uploading is completed.
''' </summary>
Private Sub _httpUpload_Completed(sender As Object, e As Vintasoft.Twain.ImageUploading.Http.CompletedEventArgs)
    ' if no errors
    If e.ErrorCode = 0 Then
        ' if server returned "OK" status
        If e.ResponseCode = System.Net.HttpStatusCode.OK Then
            System.Console.WriteLine(String.Format("HTTP: Image is uploaded successfully!"))
            System.Console.WriteLine(String.Format("Response content: {0}", e.ResponseContent))
        Else
            ' if server returned NOT "OK" status
            System.Console.WriteLine(String.Format("Response code: {0}", e.ResponseCode))
            System.Console.WriteLine(String.Format("Response string: {0}", e.ResponseString))
        End If
    Else
        ' if error occurs
        System.Console.WriteLine(String.Format("Error: {0}", e.ErrorString))
    End If
End Sub
	     
	 
 
    
	
	    
	    
Vintasoft.Twain.ImageUploading.Http.HttpUpload _httpUpload = null;
bool _isDataSending = false;
/// <summary>
/// Upload acquired image to HTTP server.
/// </summary>
/// <param name="acquiredImage"></param>
public void UploadAcquiredImageAsJpegToHttp(Vintasoft.Twain.AcquiredImage acquiredImage)
{
    try
    {
        // create HTTP uploader
        _httpUpload = new Vintasoft.Twain.ImageUploading.Http.HttpUpload();
        // subscribe to the events
        _httpUpload.StatusChanged += new System.EventHandler<Vintasoft.Twain.ImageUploading.Http.StatusChangedEventArgs>(_httpUpload_StatusChanged);
        _httpUpload.ProgressChanged += new System.EventHandler<Vintasoft.Twain.ImageUploading.Http.ProgressChangedEventArgs>(_httpUpload_ProgressChanged);
        _httpUpload.Completed += new System.EventHandler<Vintasoft.Twain.ImageUploading.Http.CompletedEventArgs>(_httpUpload_Completed);
        // set HTTP upload parameters
        _httpUpload.Url = "https://demos.vintasoft.com/AspNetCoreTwainScanningDemo/api/ImageUploadApi";
        _httpUpload.AddTextField("user", "guest");
        _httpUpload.AddTextField("password", "guest");
        _httpUpload.AddFileField("file", "demo.jpg", acquiredImage.GetAsStream(new Vintasoft.Twain.ImageEncoders.TwainJpegEncoderSettings()));
        // post data to the server
        _httpUpload.PostData();
    }
    catch (System.Exception ex)
    {
        System.Console.WriteLine(ex.Message);
    }
}
/// <summary>
/// Status of HTTP uploading is changed.
/// </summary>
private void _httpUpload_StatusChanged(object sender, Vintasoft.Twain.ImageUploading.Http.StatusChangedEventArgs e)
{
    System.Console.WriteLine(e.StatusString);
}
/// <summary>
/// HTTP uploading is in progress.
/// </summary>
private void _httpUpload_ProgressChanged(object sender, Vintasoft.Twain.ImageUploading.Http.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>
/// HTTP uploading is completed.
/// </summary>
private void _httpUpload_Completed(object sender, Vintasoft.Twain.ImageUploading.Http.CompletedEventArgs e)
{
    // if no errors
    if (e.ErrorCode == 0)
    {
        // if server returned "OK" status
        if (e.ResponseCode == System.Net.HttpStatusCode.OK)
        {
            System.Console.WriteLine(string.Format("HTTP: Image is uploaded successfully!"));
            System.Console.WriteLine(string.Format("Response content: {0}", e.ResponseContent));
        }
        // if server returned NOT "OK" status
        else
        {
            System.Console.WriteLine(string.Format("Response code: {0}", e.ResponseCode));
            System.Console.WriteLine(string.Format("Response string: {0}", e.ResponseString));
        }
    }
    // if error occurs
    else
        System.Console.WriteLine(string.Format("Error: {0}", e.ErrorString));
}
	     
	 
 
 
Требования
Целевые платформы: .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
 
Смотрите также