Udostępnij za pośrednictwem


WebClient.UploadValues Metoda

Definicja

Przekazuje kolekcję nazw/wartości do zasobu przy użyciu określonego identyfikatora URI.

Przeciążenia

UploadValues(String, NameValueCollection)

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI.

UploadValues(Uri, NameValueCollection)

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI.

UploadValues(String, String, NameValueCollection)

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI przy użyciu określonej metody.

UploadValues(Uri, String, NameValueCollection)

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI przy użyciu określonej metody.

UploadValues(String, NameValueCollection)

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

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI.

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

Parametry

address
String

Identyfikator URI zasobu do odbierania kolekcji.

data
NameValueCollection

NameValueCollection do wysłania do zasobu.

Zwraca

Byte[]

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

Wyjątki

Parametr address jest null.

-lub-

Parametr data jest null.

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

-lub-

data jest null.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

-lub-

Wystąpił błąd podczas otwierania strumienia.

-lub-

Nagłówek Content-type nie jest null ani "application/x-www-form-urlencoded".

Przykłady

Poniższy przykład kodu zbiera informacje od użytkownika (nazwa, wiek i adres) oraz publikuje wartości na serwerze przy użyciu UploadValues. 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;

// Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
NameValueCollection^ myNameValueCollection = gcnew NameValueCollection;

Console::WriteLine( "Please enter the following parameters to be posted to the URL" );
Console::Write( "Name: " );
String^ name = Console::ReadLine();

Console::Write( "Age: " );
String^ age = Console::ReadLine();

Console::Write( "Address: " );
String^ address = Console::ReadLine();

// Add necessary parameter/value pairs to the name/value container.
myNameValueCollection->Add( "Name", name );
myNameValueCollection->Add( "Address", address );
myNameValueCollection->Add( "Age", age );

Console::WriteLine( "\nUploading to {0} ...", uriString );
// 'The Upload(String, NameValueCollection)' implicitly method sets HTTP POST as the request method.
array<Byte>^ responseArray = myWebClient->UploadValues( uriString, myNameValueCollection );

// Decode and display the response.
Console::WriteLine( "\nResponse received was :\n {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();

// Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
NameValueCollection myNameValueCollection = new NameValueCollection();

Console.WriteLine("Please enter the following parameters to be posted to the URL");
Console.Write("Name:");
string name = Console.ReadLine();

Console.Write("Age:");
string age = Console.ReadLine();

Console.Write("Address:");
string address = Console.ReadLine();

// Add necessary parameter/value pairs to the name/value container.
myNameValueCollection.Add("Name",name);            
myNameValueCollection.Add("Address",address);
myNameValueCollection.Add("Age",age);

Console.WriteLine("\nUploading to {0} ...",  uriString);
// 'The Upload(String,NameValueCollection)' implicitly method sets HTTP POST as the request method.            
byte[] responseArray = myWebClient.UploadValues(uriString,myNameValueCollection);

// Decode and display the response.
Console.WriteLine("\nResponse received was :\n{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()
' Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
Dim myNameValueCollection As New NameValueCollection()
Console.WriteLine("Please enter the following parameters to be posted to the URL:")
Console.Write("Name:")
Dim name As String = Console.ReadLine()

Console.Write("Age:")
Dim age As String = Console.ReadLine()

Console.Write("Address:")
Dim address As String = Console.ReadLine()

' Add necessary parameter/value pairs to the name/value container.
myNameValueCollection.Add("Name", name)
myNameValueCollection.Add("Address", address)
myNameValueCollection.Add("Age", age)

Console.WriteLine(ControlChars.Cr + "Uploading to {0} ...", uriString)
' The Upload(String,NameValueCollection)' method implicitly sets the HTTP POST as the request method.			
Dim responseArray As Byte() = myWebClient.UploadValues(uriString, myNameValueCollection)

' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response received was :" + ControlChars.Cr + "{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 UploadValues wysyła NameValueCollection do serwera. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadValuesAsync.

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.

Jeśli nagłówek Content-type jest null, metoda UploadValues ustawia ją na "application/x-www-form-urlencoded".

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.

Ta metoda używa polecenia STOR do przekazania zasobu FTP. W przypadku zasobu HTTP jest używana metoda POST.

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

UploadValues(Uri, NameValueCollection)

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

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI.

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

Parametry

address
Uri

Identyfikator URI zasobu do odbierania kolekcji.

data
NameValueCollection

NameValueCollection do wysłania do zasobu.

Zwraca

Byte[]

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

Wyjątki

Parametr address jest null.

-lub-

Parametr data jest null.

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

-lub-

data jest null.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

-lub-

Wystąpił błąd podczas otwierania strumienia.

-lub-

Nagłówek Content-type nie jest null ani "application/x-www-form-urlencoded".

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 UploadValues wysyła NameValueCollection do serwera. Ta metoda blokuje przekazywanie danych. Aby kontynuować wykonywanie podczas oczekiwania na odpowiedź serwera, użyj jednej z metod UploadValuesAsync.

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.

Jeśli nagłówek Content-type jest null, metoda UploadValues ustawia ją na "application/x-www-form-urlencoded".

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.

Ta metoda używa polecenia STOR do przekazania zasobu FTP. W przypadku zasobu HTTP jest używana metoda POST.

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

UploadValues(String, String, NameValueCollection)

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

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI przy użyciu określonej metody.

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

Parametry

address
String

Identyfikator URI zasobu do odbierania kolekcji.

method
String

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

data
NameValueCollection

NameValueCollection do wysłania do zasobu.

Zwraca

Byte[]

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

Wyjątki

Parametr address jest null.

-lub-

Parametr data jest null.

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

-lub-

data jest null.

-lub-

Wystąpił błąd podczas otwierania strumienia.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

-lub-

Wartość nagłówka Content-type nie jest null i nie jest application/x-www-form-urlencoded.

Przykłady

Poniższy przykład kodu zbiera informacje od użytkownika (nazwa, wiek i adres) oraz publikuje wartości na serwerze przy użyciu UploadValues. Każda odpowiedź z serwera jest wyświetlana w konsoli programu .

Console::Write( "\nPlease enter the URL to post data to: " );
String^ uriString = Console::ReadLine();

// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;

// Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
NameValueCollection^ myNameValueCollection = gcnew NameValueCollection;

Console::WriteLine( "Please enter the following parameters to be posted to the URI" );
Console::Write( "Name: " );
String^ name = Console::ReadLine();

Console::Write( "Age: " );
String^ age = Console::ReadLine();

Console::Write( "Address: " );
String^ address = Console::ReadLine();

// Add necessary parameter/value pairs to the name/value container.
myNameValueCollection->Add( "Name", name );
myNameValueCollection->Add( "Address", address );
myNameValueCollection->Add( "Age", age );
Console::WriteLine( "\nUploading to {0} ...", uriString );

// Upload the NameValueCollection.
array<Byte>^ responseArray = myWebClient->UploadValues( uriString, "POST", myNameValueCollection );

// Decode and display the response.
Console::WriteLine( "\nResponse received was :\n {0}", Encoding::ASCII->GetString( responseArray ) );
Console.Write("\nPlease enter the URL to post data to : ");
string uriString = Console.ReadLine();

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();

// Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
NameValueCollection myNameValueCollection = new NameValueCollection();

Console.WriteLine("Please enter the following parameters to be posted to the URI");
Console.Write("Name:");
string name = Console.ReadLine();

Console.Write("Age:");
string age = Console.ReadLine();

Console.Write("Address:");
string address = Console.ReadLine();

// Add necessary parameter/value pairs to the name/value container.
myNameValueCollection.Add("Name",name);			
myNameValueCollection.Add("Address",address);
myNameValueCollection.Add("Age",age);
Console.WriteLine("\nUploading to {0} ...",  uriString);

// Upload the NameValueCollection.
byte[] responseArray = myWebClient.UploadValues(uriString,"POST",myNameValueCollection);

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

' Create a new WebClient instance.
Dim myWebClient As New WebClient()

' Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
Dim myNameValueCollection As New NameValueCollection()

Console.WriteLine("Please enter the following parameters to be posted to the Url")
Console.Write("Name:")
Dim name As String = Console.ReadLine()

Console.Write("Age:")
Dim age As String = Console.ReadLine()

Console.Write("Address:")
Dim address As String = Console.ReadLine()

' Add necessary parameter/value pairs to the name/value container.
myNameValueCollection.Add("Name", name)
myNameValueCollection.Add("Address", address)
myNameValueCollection.Add("Age", age)

Console.WriteLine(ControlChars.Cr + "Uploading to {0} ...", uriString)

' Upload the NameValueCollection.
Dim responseArray As Byte() = myWebClient.UploadValues(uriString, "POST", myNameValueCollection)

' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response received was :" + ControlChars.Cr + "{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 UploadValues wysyła NameValueCollection do zasobu przy użyciu metody 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 UploadValuesAsync.

Jeśli nagłówek Content-type jest null, metoda UploadValues ustawia ją na application/x-www-form-urlencoded.

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

UploadValues(Uri, String, NameValueCollection)

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

Przekazuje określoną kolekcję nazw/wartości do zasobu określonego identyfikatora URI przy użyciu określonej metody.

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

Parametry

address
Uri

Identyfikator URI zasobu do odbierania kolekcji.

method
String

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

data
NameValueCollection

NameValueCollection do wysłania do zasobu.

Zwraca

Byte[]

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

Wyjątki

Parametr address jest null.

-lub-

Parametr data jest null.

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

-lub-

data jest null.

-lub-

Wystąpił błąd podczas otwierania strumienia.

-lub-

Nie było odpowiedzi z serwera hostowania zasobu.

-lub-

Wartość nagłówka Content-type nie jest null i nie jest application/x-www-form-urlencoded.

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 UploadValues wysyła NameValueCollection do zasobu przy użyciu metody 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 UploadValuesAsync.

Jeśli nagłówek Content-type jest null, metoda UploadValues ustawia ją na application/x-www-form-urlencoded.

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