Поделиться через


WebClient.UploadValues Метод

Определение

Отправляет коллекцию имен и значений в ресурс с указанным универсальным кодом ресурса (URI).

Перегрузки

UploadValues(String, NameValueCollection)

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI).

UploadValues(Uri, NameValueCollection)

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI).

UploadValues(String, String, NameValueCollection)

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода.

UploadValues(Uri, String, NameValueCollection)

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода.

UploadValues(String, NameValueCollection)

Исходный код:
WebClient.cs
Исходный код:
WebClient.cs
Исходный код:
WebClient.cs

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (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()

Параметры

address
String

URI ресурса для получения коллекции.

data
NameValueCollection

NameValueCollection для отправки в ресурс.

Возвращаемое значение

Byte[]

Массив Byte, содержащий текст ответа из ресурса.

Исключения

Параметр addressnull.

-или-

Параметр datanull.

URI, сформированный объединением BaseAddress, и address является недопустимым.

-или-

data null.

-или-

От сервера, на котором размещен ресурс, не было ответа.

-или-

Произошла ошибка при открытии потока.

-или-

Заголовок Content-type не null или application/x-www-form-urlencoded.

Примеры

В следующем примере кода собираются сведения от пользователя (имя, возраст и адрес) и передаются значения на сервер с помощью UploadValues. На консоли отображается любой ответ с сервера.

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))

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Метод UploadValues отправляет NameValueCollection на сервер. Этот метод блокирует передачу данных. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из методов UploadValuesAsync.

Если базовый запрос не понимается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException создается со свойством Status, которое указывает на ошибку.

Если заголовок типа контента null, метод UploadValues задает для него значение application/x-www-form-urlencoded.

Если свойство BaseAddress не является пустой строкой ("") и address не содержит абсолютный универсальный код ресурса (URI), address должен быть относительным URI, объединенным с BaseAddress, чтобы сформировать абсолютный URI запрошенных данных. Если свойство QueryString не является пустой строкой, оно добавляется в address.

Этот метод использует команду STOR для отправки ресурса FTP. Для ресурса HTTP используется метод POST.

Заметка

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в.NET Framework.

Применяется к

UploadValues(Uri, NameValueCollection)

Исходный код:
WebClient.cs
Исходный код:
WebClient.cs
Исходный код:
WebClient.cs

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (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()

Параметры

address
Uri

URI ресурса для получения коллекции.

data
NameValueCollection

NameValueCollection для отправки в ресурс.

Возвращаемое значение

Byte[]

Массив Byte, содержащий текст ответа из ресурса.

Исключения

Параметр addressnull.

-или-

Параметр datanull.

URI, сформированный объединением BaseAddress, и address является недопустимым.

-или-

data null.

-или-

От сервера, на котором размещен ресурс, не было ответа.

-или-

Произошла ошибка при открытии потока.

-или-

Заголовок Content-type не null или application/x-www-form-urlencoded.

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Метод UploadValues отправляет NameValueCollection на сервер. Этот метод блокирует передачу данных. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из методов UploadValuesAsync.

Если базовый запрос не понимается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException создается со свойством Status, которое указывает на ошибку.

Если заголовок типа контента null, метод UploadValues задает для него значение application/x-www-form-urlencoded.

Если свойство BaseAddress не является пустой строкой ("") и address не содержит абсолютный универсальный код ресурса (URI), address должен быть относительным URI, объединенным с BaseAddress, чтобы сформировать абсолютный URI запрошенных данных. Если свойство QueryString не является пустой строкой, оно добавляется в address.

Этот метод использует команду STOR для отправки ресурса FTP. Для ресурса HTTP используется метод POST.

Заметка

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в.NET Framework.

Применяется к

UploadValues(String, String, NameValueCollection)

Исходный код:
WebClient.cs
Исходный код:
WebClient.cs
Исходный код:
WebClient.cs

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода.

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()

Параметры

address
String

URI ресурса для получения коллекции.

method
String

Метод HTTP, используемый для отправки файла в ресурс. Если значение NULL, значение по умолчанию — POST для http и STOR для ftp.

data
NameValueCollection

NameValueCollection для отправки в ресурс.

Возвращаемое значение

Byte[]

Массив Byte, содержащий текст ответа из ресурса.

Исключения

Параметр addressnull.

-или-

Параметр datanull.

URI, сформированный объединением BaseAddress, и address является недопустимым.

-или-

data null.

-или-

Произошла ошибка при открытии потока.

-или-

От сервера, на котором размещен ресурс, не было ответа.

-или-

Значение заголовка Content-type не null и не application/x-www-form-urlencoded.

Примеры

В следующем примере кода собираются сведения от пользователя (имя, возраст и адрес) и передаются значения на сервер с помощью UploadValues. На консоли отображается любой ответ с сервера.

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))

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Метод UploadValues отправляет NameValueCollection ресурсу с помощью метода, указанного в параметре method, и возвращает любой ответ с сервера. Этот метод блокирует передачу данных. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из методов UploadValuesAsync.

Если заголовок Content-typenull, метод UploadValues задает для него значение application/x-www-form-urlencoded.

Если параметр method указывает команду, которая не понимается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException создается со свойством Status, которое указывает на ошибку.

Если свойство BaseAddress не является пустой строкой ("") и address не содержит абсолютный универсальный код ресурса (URI), address должен быть относительным URI, объединенным с BaseAddress, чтобы сформировать абсолютный URI запрошенных данных. Если свойство QueryString не является пустой строкой, оно добавляется в address.

Заметка

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в.NET Framework.

Применяется к

UploadValues(Uri, String, NameValueCollection)

Исходный код:
WebClient.cs
Исходный код:
WebClient.cs
Исходный код:
WebClient.cs

Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода.

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()

Параметры

address
Uri

URI ресурса для получения коллекции.

method
String

Метод HTTP, используемый для отправки файла в ресурс. Если значение NULL, значение по умолчанию — POST для http и STOR для ftp.

data
NameValueCollection

NameValueCollection для отправки в ресурс.

Возвращаемое значение

Byte[]

Массив Byte, содержащий текст ответа из ресурса.

Исключения

Параметр addressnull.

-или-

Параметр datanull.

URI, сформированный объединением BaseAddress, и address является недопустимым.

-или-

data null.

-или-

Произошла ошибка при открытии потока.

-или-

От сервера, на котором размещен ресурс, не было ответа.

-или-

Значение заголовка Content-type не null и не application/x-www-form-urlencoded.

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Метод UploadValues отправляет NameValueCollection ресурсу с помощью метода, указанного в параметре method, и возвращает любой ответ с сервера. Этот метод блокирует передачу данных. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из методов UploadValuesAsync.

Если заголовок Content-typenull, метод UploadValues задает для него значение application/x-www-form-urlencoded.

Если параметр method указывает команду, которая не понимается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException создается со свойством Status, которое указывает на ошибку.

Если свойство BaseAddress не является пустой строкой ("") и address не содержит абсолютный универсальный код ресурса (URI), address должен быть относительным URI, объединенным с BaseAddress, чтобы сформировать абсолютный URI запрошенных данных. Если свойство QueryString не является пустой строкой, оно добавляется в address.

Заметка

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в.NET Framework.

Применяется к