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


WebClient.UploadData Метод

Определение

Отправляет буфер данных в ресурс с указанным универсальным кодом ресурса (URI).

Перегрузки

UploadData(String, Byte[])

Отправляет буфер данных в ресурс, определенный URI.

UploadData(Uri, Byte[])

Отправляет буфер данных в ресурс, определенный URI.

UploadData(String, String, Byte[])

Отправляет буфер данных в указанный ресурс с помощью указанного метода.

UploadData(Uri, String, Byte[])

Отправляет буфер данных в указанный ресурс с помощью указанного метода.

UploadData(String, Byte[])

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

Отправляет буфер данных в ресурс, определенный 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()

Параметры

address
String

URI ресурса для получения данных.

data
Byte[]

Буфер данных для отправки в ресурс.

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

Byte[]

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

Исключения

Параметр addressnull.

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

-или-

data null.

-или-

Произошла ошибка при отправке данных.

-или-

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

Примеры

В следующем примере кода строка, введенная из консоли, преобразуется в массив Byte и отправляет массив на указанный сервер с помощью UploadData. Любой ответ с сервера отображается в консоли.

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

Комментарии

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

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

Метод UploadData отправляет буфер данных ресурсу.

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

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

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

Заметка

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

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

UploadData(Uri, Byte[])

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

Отправляет буфер данных в ресурс, определенный 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()

Параметры

address
Uri

URI ресурса для получения данных.

data
Byte[]

Буфер данных для отправки в ресурс.

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

Byte[]

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

Исключения

Параметр addressnull.

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

-или-

data null.

-или-

Произошла ошибка при отправке данных.

-или-

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

Комментарии

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

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

Метод UploadData отправляет буфер данных ресурсу.

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

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

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

Заметка

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

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

UploadData(String, String, Byte[])

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

Отправляет буфер данных в указанный ресурс с помощью указанного метода.

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

Параметры

address
String

URI ресурса для получения данных.

method
String

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

data
Byte[]

Буфер данных для отправки в ресурс.

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

Byte[]

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

Исключения

Параметр addressnull.

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

-или-

data null.

-или-

Произошла ошибка при отправке данных.

-или-

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

Примеры

В следующем примере кода строка, введенная из консоли, преобразуется в массив байтов и отправляет массив на указанный сервер с помощью UploadData. Любой ответ с сервера отображается в консоли.

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

Комментарии

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

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

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

Метод UploadData отправляет содержимое data на сервер без кодирования.

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

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

Заметка

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

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

UploadData(Uri, String, Byte[])

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

Отправляет буфер данных в указанный ресурс с помощью указанного метода.

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

Параметры

address
Uri

URI ресурса для получения данных.

method
String

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

data
Byte[]

Буфер данных для отправки в ресурс.

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

Byte[]

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

Исключения

Параметр addressnull.

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

-или-

data null.

-или-

Произошла ошибка при отправке данных.

-или-

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

Комментарии

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

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

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

Метод UploadData отправляет содержимое data на сервер без кодирования.

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

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

Заметка

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

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