Прочитать на английском

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


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 byte[] UploadData(string address, byte[] data);

Параметры

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

Комментарии

Внимание!

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.

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

.NET 10 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

UploadData(Uri, Byte[])

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

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

public byte[] UploadData(Uri address, byte[] data);

Параметры

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.

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

.NET 10 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

UploadData(String, String, Byte[])

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

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

public byte[] UploadData(string address, string? method, byte[] data);
public byte[] UploadData(string address, string method, byte[] data);

Параметры

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

Комментарии

Внимание!

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.

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

.NET 10 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

UploadData(Uri, String, Byte[])

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

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

public byte[] UploadData(Uri address, string? method, byte[] data);
public byte[] UploadData(Uri address, string method, byte[] data);

Параметры

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.

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

.NET 10 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1