Udostępnij za pośrednictwem


WebClient.UploadData Metoda

Definicja

Przekazuje bufor danych do zasobu przy użyciu określonego identyfikatora URI.

Przeciążenia

UploadData(String, Byte[])

Przekazuje bufor danych do zasobu zidentyfikowanego przez identyfikator URI.

UploadData(Uri, Byte[])

Przekazuje bufor danych do zasobu zidentyfikowanego przez identyfikator URI.

UploadData(String, String, Byte[])

Przekazuje bufor danych do określonego zasobu przy użyciu określonej metody.

UploadData(Uri, String, Byte[])

Przekazuje bufor danych do określonego zasobu przy użyciu określonej metody.

UploadData(String, Byte[])

Źródło:
WebClient.cs
Źródło:
WebClient.cs
Źródło:
WebClient.cs

Przekazuje bufor danych do zasobu zidentyfikowanego przez identyfikator URI.

public:
 cli::array <System::Byte> ^ UploadData(System::String ^ address, cli::array <System::Byte> ^ data);
public byte[] UploadData (string address, byte[] data);
member this.UploadData : string * byte[] -> byte[]
Public Function UploadData (address As String, data As Byte()) As Byte()

Parametry

address
String

Identyfikator URI zasobu do odbierania danych.

data
Byte[]

Bufor danych do wysłania do zasobu.

Zwraca

Byte[]

Tablica Byte zawierająca treść odpowiedzi z zasobu.

Wyjątki

Parametr address jest null.

Identyfikator URI utworzony przez połączenie BaseAddressi address jest nieprawidłowy.

-lub-

data jest null.

-lub-

Wystąpił błąd podczas wysyłania danych.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

Przykłady

Poniższy przykład kodu konwertuje ciąg wprowadzony z konsoli na tablicę Byte i publikuje tablicę na określony serwer przy użyciu UploadData. Każda odpowiedź z serwera jest wyświetlana w konsoli programu .

Console::Write( "\nPlease enter the URI to post data to: " );
String^ uriString = Console::ReadLine();
// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine( "\nPlease enter the data to be posted to the URI {0}:", uriString );
String^ postData = Console::ReadLine();
// Apply ASCII Encoding to obtain the String* as a Byte array.
array<Byte>^ postArray = Encoding::ASCII->GetBytes( postData );
Console::WriteLine( "Uploading to {0} ...", uriString );
myWebClient->Headers->Add( "Content-Type", "application/x-www-form-urlencoded" );

//UploadData implicitly sets HTTP POST as the request method.
array<Byte>^responseArray = myWebClient->UploadData( uriString, postArray );

// Decode and display the response.
Console::WriteLine( "\nResponse received was: {0}", Encoding::ASCII->GetString( responseArray ) );
    Console.Write("\nPlease enter the URI to post data to : ");
    string uriString = Console.ReadLine();
    // Create a new WebClient instance.
    WebClient myWebClient = new WebClient();
    Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
    string postData = Console.ReadLine();
    // Apply ASCII Encoding to obtain the string as a byte array.
    byte[] postArray = Encoding.ASCII.GetBytes(postData);
    Console.WriteLine("Uploading to {0} ...",  uriString);							
 myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");

    //UploadData implicitly sets HTTP POST as the request method.
    byte[] responseArray = myWebClient.UploadData(uriString,postArray);

    // Decode and display the response.
    Console.WriteLine("\nResponse received was :{0}", Encoding.ASCII.GetString(responseArray));
Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
Dim uriString As String = Console.ReadLine()

' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the URI {0}:", uriString)
Dim postData As String = Console.ReadLine()
' Apply ASCII Encoding to obtain the string as a byte array.
Dim postArray As Byte() = Encoding.ASCII.GetBytes(postData)
Console.WriteLine("Uploading to {0} ...", uriString)
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")

' UploadData implicitly sets HTTP POST as the request method.
Dim responseArray As Byte() = myWebClient.UploadData(uriString, postArray)

' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response received was :{0}", Encoding.ASCII.GetString(responseArray))

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

Metoda UploadData wysyła bufor danych do zasobu.

Ta metoda używa polecenia STOR do przekazania zasobu FTP. W przypadku zasobu HTTP jest używana metoda POST. Jeśli bazowe żądanie nie jest zrozumiałe dla serwera, klasy protokołów bazowych określają, co się dzieje. Zazwyczaj WebException jest zgłaszana z właściwością Status ustawioną na wartość błędu.

Metoda UploadData wysyła zawartość data do serwera bez kodowania. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadDataAsync.

Jeśli właściwość BaseAddress nie jest pustym ciągiem ("") i address nie zawiera bezwzględnego identyfikatora URI, address musi być względnym identyfikatorem URI połączonym z BaseAddress, aby utworzyć bezwzględny identyfikator URI żądanych danych. Jeśli właściwość QueryString nie jest pustym ciągiem, jest dołączana do address.

Nuta

Ten element członkowski generuje informacje śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.

Dotyczy

UploadData(Uri, Byte[])

Źródło:
WebClient.cs
Źródło:
WebClient.cs
Źródło:
WebClient.cs

Przekazuje bufor danych do zasobu zidentyfikowanego przez identyfikator URI.

public:
 cli::array <System::Byte> ^ UploadData(Uri ^ address, cli::array <System::Byte> ^ data);
public byte[] UploadData (Uri address, byte[] data);
member this.UploadData : Uri * byte[] -> byte[]
Public Function UploadData (address As Uri, data As Byte()) As Byte()

Parametry

address
Uri

Identyfikator URI zasobu do odbierania danych.

data
Byte[]

Bufor danych do wysłania do zasobu.

Zwraca

Byte[]

Tablica Byte zawierająca treść odpowiedzi z zasobu.

Wyjątki

Parametr address jest null.

Identyfikator URI utworzony przez połączenie BaseAddressi address jest nieprawidłowy.

-lub-

data jest null.

-lub-

Wystąpił błąd podczas wysyłania danych.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

Metoda UploadData wysyła bufor danych do zasobu.

Ta metoda używa polecenia STOR do przekazania zasobu FTP. W przypadku zasobu HTTP jest używana metoda POST. Jeśli bazowe żądanie nie jest zrozumiałe dla serwera, klasy protokołów bazowych określają, co się dzieje. Zazwyczaj WebException jest zgłaszana z właściwością Status ustawioną na wartość błędu.

Metoda UploadData wysyła zawartość data do serwera bez kodowania. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadDataAsync.

Jeśli właściwość BaseAddress nie jest pustym ciągiem ("") i address nie zawiera bezwzględnego identyfikatora URI, address musi być względnym identyfikatorem URI połączonym z BaseAddress, aby utworzyć bezwzględny identyfikator URI żądanych danych. Jeśli właściwość QueryString nie jest pustym ciągiem, jest dołączana do address.

Nuta

Ten element członkowski generuje informacje śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.

Dotyczy

UploadData(String, String, Byte[])

Źródło:
WebClient.cs
Źródło:
WebClient.cs
Źródło:
WebClient.cs

Przekazuje bufor danych do określonego zasobu przy użyciu określonej metody.

public:
 cli::array <System::Byte> ^ UploadData(System::String ^ address, System::String ^ method, cli::array <System::Byte> ^ data);
public byte[] UploadData (string address, string? method, byte[] data);
public byte[] UploadData (string address, string method, byte[] data);
member this.UploadData : string * string * byte[] -> byte[]
Public Function UploadData (address As String, method As String, data As Byte()) As Byte()

Parametry

address
String

Identyfikator URI zasobu do odbierania danych.

method
String

Metoda HTTP używana do wysyłania danych do zasobu. Jeśli wartość null, wartość domyślna to POST dla protokołu HTTP i stor dla protokołu FTP.

data
Byte[]

Bufor danych do wysłania do zasobu.

Zwraca

Byte[]

Tablica Byte zawierająca treść odpowiedzi z zasobu.

Wyjątki

Parametr address jest null.

Identyfikator URI utworzony przez połączenie BaseAddressi address jest nieprawidłowy.

-lub-

data jest null.

-lub-

Wystąpił błąd podczas przekazywania danych.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

Przykłady

Poniższy przykład kodu konwertuje ciąg wprowadzony z konsoli na tablicę bajtów i publikuje tablicę na określony serwer przy użyciu UploadData. Każda odpowiedź z serwera jest wyświetlana w konsoli programu .

String^ uriString;
Console::Write( "\nPlease enter the URI to post data to {for example, http://www.contoso.com}: " );
uriString = Console::ReadLine();

// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine( "\nPlease enter the data to be posted to the URI {0}:", uriString );
String^ postData = Console::ReadLine();
myWebClient->Headers->Add( "Content-Type", "application/x-www-form-urlencoded" );

// Displays the headers in the request
Console::Write( "Resulting Request Headers: ");
Console::WriteLine(myWebClient->Headers);

// Apply ASCII Encoding to obtain the String^ as a Byte array.
array<Byte>^ byteArray = Encoding::ASCII->GetBytes( postData );
Console::WriteLine( "Uploading to {0} ...", uriString );
// Upload the input String* using the HTTP 1.0 POST method.
array<Byte>^responseArray = myWebClient->UploadData( uriString, "POST", byteArray );
// Decode and display the response.
Console::WriteLine( "\nResponse received was {0}",
   Encoding::ASCII->GetString( responseArray ) );
   string uriString;
       Console.Write("\nPlease enter the URI to post data to {for example, http://www.contoso.com} : ");
       uriString = Console.ReadLine();

       // Create a new WebClient instance.
       WebClient myWebClient = new WebClient();
       Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
       string postData = Console.ReadLine();
       myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");

 // Display the headers in the request
       Console.Write("Resulting Request Headers: ");
       Console.WriteLine(myWebClient.Headers.ToString());
       
       // Apply ASCII Encoding to obtain the string as a byte array.

       byte[] byteArray = Encoding.ASCII.GetBytes(postData);
       Console.WriteLine("Uploading to {0} ...",  uriString);						
       // Upload the input string using the HTTP 1.0 POST method.
       byte[] responseArray = myWebClient.UploadData(uriString,"POST",byteArray);
       
       // Decode and display the response.
       Console.WriteLine("\nResponse received was {0}",
       Encoding.ASCII.GetString(responseArray));
                 
Dim uriString As String
Console.Write(ControlChars.Cr + "Please enter the URI to post data to{for example, http://www.contoso.com} : ")
uriString = Console.ReadLine()

' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the URI {0}:", uriString)
Dim postData As String = Console.ReadLine()
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")

' Display the headers in the request
Console.Write("Resulting Request Headers: ")
Console.Writeline(myWebClient.Headers.ToString())

' Apply ASCII Encoding to obtain the string as a byte array.
Dim byteArray As Byte() = Encoding.ASCII.GetBytes(postData)
Console.WriteLine("Uploading to {0} ...", uriString)
' Upload the input string using the HTTP 1.0 POST method.
Dim responseArray As Byte() = myWebClient.UploadData(uriString, "POST", byteArray)
' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response received was :{0}", Encoding.ASCII.GetString(responseArray))

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

Metoda UploadData wysyła bufor danych do zasobu przy użyciu metody HTTP określonej w parametrze method i zwraca dowolną odpowiedź z serwera. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadDataAsync.

Metoda UploadData wysyła zawartość data do serwera bez kodowania.

Jeśli parametr method określa czasownik, który nie jest zrozumiały dla serwera, podstawowe klasy protokołów określają, co się dzieje. Zazwyczaj WebException jest zgłaszana z właściwością Status ustawioną na wartość błędu.

Jeśli właściwość BaseAddress nie jest pustym ciągiem ("") i address nie zawiera bezwzględnego identyfikatora URI, address musi być względnym identyfikatorem URI połączonym z BaseAddress, aby utworzyć bezwzględny identyfikator URI żądanych danych. Jeśli właściwość QueryString nie jest pustym ciągiem, jest dołączana do address.

Nuta

Ten element członkowski generuje informacje śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.

Dotyczy

UploadData(Uri, String, Byte[])

Źródło:
WebClient.cs
Źródło:
WebClient.cs
Źródło:
WebClient.cs

Przekazuje bufor danych do określonego zasobu przy użyciu określonej metody.

public:
 cli::array <System::Byte> ^ UploadData(Uri ^ address, System::String ^ method, cli::array <System::Byte> ^ data);
public byte[] UploadData (Uri address, string? method, byte[] data);
public byte[] UploadData (Uri address, string method, byte[] data);
member this.UploadData : Uri * string * byte[] -> byte[]
Public Function UploadData (address As Uri, method As String, data As Byte()) As Byte()

Parametry

address
Uri

Identyfikator URI zasobu do odbierania danych.

method
String

Metoda HTTP używana do wysyłania danych do zasobu. Jeśli wartość null, wartość domyślna to POST dla protokołu HTTP i stor dla protokołu FTP.

data
Byte[]

Bufor danych do wysłania do zasobu.

Zwraca

Byte[]

Tablica Byte zawierająca treść odpowiedzi z zasobu.

Wyjątki

Parametr address jest null.

Identyfikator URI utworzony przez połączenie BaseAddressi address jest nieprawidłowy.

-lub-

data jest null.

-lub-

Wystąpił błąd podczas przekazywania danych.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

Metoda UploadData wysyła bufor danych do zasobu przy użyciu metody HTTP określonej w parametrze method i zwraca dowolną odpowiedź z serwera. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadDataAsync.

Metoda UploadData wysyła zawartość data do serwera bez kodowania.

Jeśli parametr method określa czasownik, który nie jest zrozumiały dla serwera, podstawowe klasy protokołów określają, co się dzieje. Zazwyczaj WebException jest zgłaszana z właściwością Status ustawioną na wartość błędu.

Jeśli właściwość BaseAddress nie jest pustym ciągiem ("") i address nie zawiera bezwzględnego identyfikatora URI, address musi być względnym identyfikatorem URI połączonym z BaseAddress, aby utworzyć bezwzględny identyfikator URI żądanych danych. Jeśli właściwość QueryString nie jest pustym ciągiem, jest dołączana do address.

Nuta

Ten element członkowski generuje informacje śledzenia po włączeniu śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w programie .NET Framework.

Dotyczy