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


WebClient.OpenWrite Метод

Определение

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

Перегрузки

OpenWrite(String)

Открывает поток для записи данных в указанный ресурс.

OpenWrite(Uri)

Открывает поток для записи данных в указанный ресурс.

OpenWrite(String, String)

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

OpenWrite(Uri, String)

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

OpenWrite(String)

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

Открывает поток для записи данных в указанный ресурс.

public:
 System::IO::Stream ^ OpenWrite(System::String ^ address);
public System.IO.Stream OpenWrite (string address);
member this.OpenWrite : string -> System.IO.Stream
Public Function OpenWrite (address As String) As Stream

Параметры

address
String

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

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

Stream, используемый для записи данных в ресурс.

Исключения

Параметр addressnull.

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

-или-

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

Примеры

Следующий пример кода считывает данные из командной строки и использует OpenWrite для получения потока для записи данных. После отправки данных Stream, возвращенных OpenWrite, закрывается.

String^ uriString;
Console::Write( "\nPlease enter the URI to post data to: " );
uriString = Console::ReadLine();
Console::WriteLine( "\nPlease enter the data to be posted to the URI {0}:", uriString );
String^ postData = Console::ReadLine();
// Apply Ascii Encoding to obtain an array of bytes.
array<Byte>^ postArray = Encoding::ASCII->GetBytes( postData );

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

// postStream implicitly sets HTTP POST as the request method.
Console::WriteLine( "Uploading to {0} ...", uriString );
Stream^ postStream = myWebClient->OpenWrite( uriString );

postStream->Write( postArray, 0, postArray->Length );

// Close the stream and release resources.
postStream->Close();

Console::WriteLine( "\nSuccessfully posted the data." );
string uriString;
Console.Write("\nPlease enter the URI to post data to : ");
uriString = Console.ReadLine();
Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
string postData = Console.ReadLine();
// Apply Ascii Encoding to obtain an array of bytes. 
byte[] postArray = Encoding.ASCII.GetBytes(postData);

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

// postStream implicitly sets HTTP POST as the request method.
Console.WriteLine("Uploading to {0} ...",  uriString);							Stream postStream = myWebClient.OpenWrite(uriString);

postStream.Write(postArray,0,postArray.Length);

// Close the stream and release resources.
postStream.Close();

Console.WriteLine("\nSuccessfully posted the data.");
Dim uriString As String
Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
uriString = Console.ReadLine()
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 an array of bytes .
Dim postArray As Byte() = Encoding.ASCII.GetBytes(postData)

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

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

' OpenWrite implicitly sets HTTP POST as the request method.
Dim postStream As Stream = myWebClient.OpenWrite(uriString)
postStream.Write(postArray, 0, postArray.Length)

' Close the stream and release resources.
postStream.Close()

Console.WriteLine(ControlChars.Cr + "Successfully posted the data.")

Комментарии

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

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

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

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

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

Заметка

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

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

OpenWrite(Uri)

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

Открывает поток для записи данных в указанный ресурс.

public:
 System::IO::Stream ^ OpenWrite(Uri ^ address);
public System.IO.Stream OpenWrite (Uri address);
member this.OpenWrite : Uri -> System.IO.Stream
Public Function OpenWrite (address As Uri) As Stream

Параметры

address
Uri

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

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

Stream, используемый для записи данных в ресурс.

Исключения

Параметр addressnull.

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

-или-

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

Комментарии

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

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

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

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

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

Заметка

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

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

OpenWrite(String, String)

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

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

public:
 System::IO::Stream ^ OpenWrite(System::String ^ address, System::String ^ method);
public System.IO.Stream OpenWrite (string address, string? method);
public System.IO.Stream OpenWrite (string address, string method);
member this.OpenWrite : string * string -> System.IO.Stream
Public Function OpenWrite (address As String, method As String) As Stream

Параметры

address
String

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

method
String

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

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

Stream, используемый для записи данных в ресурс.

Исключения

Параметр addressnull.

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

-или-

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

Примеры

Следующий пример кода считывает данные из командной строки и использует OpenWrite для получения потока, используемого для записи данных. Для отправки данных необходимо закрыть Stream, возвращенные OpenWrite.

String^ uriString;
Console::Write( "\nPlease enter the URI to post data to: " );
uriString = Console::ReadLine();
Console::WriteLine( "\nPlease enter the data to be posted to the URI {0}:", uriString );
String^ postData = Console::ReadLine();
// Apply ASCII encoding to obtain an array of bytes .
array<Byte>^ postArray = Encoding::ASCII->GetBytes( postData );

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

Console::WriteLine( "Uploading to {0} ...", uriString );
Stream^ postStream = myWebClient->OpenWrite( uriString, "POST" );
postStream->Write( postArray, 0, postArray->Length );

// Close the stream and release resources.
postStream->Close();
Console::WriteLine( "\nSuccessfully posted the data." );
string uriString;
Console.Write("\nPlease enter the URI to post data to : ");
uriString = Console.ReadLine();
Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
string postData = Console.ReadLine();
// Apply ASCII encoding to obtain an array of bytes .
byte[] postArray = Encoding.ASCII.GetBytes(postData);

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

Console.WriteLine("Uploading to {0} ...",  uriString);						
Stream postStream = myWebClient.OpenWrite(uriString,"POST");
postStream.Write(postArray,0,postArray.Length);

// Close the stream and release resources.
postStream.Close();
Console.WriteLine("\nSuccessfully posted the data.");
Dim uriString As String
Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
uriString = Console.ReadLine()
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 an array of bytes.
Dim postArray As Byte() = Encoding.ASCII.GetBytes(postData)

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

Console.WriteLine("Uploading to {0} ...", uriString)
Dim postStream As Stream = myWebClient.OpenWrite(uriString, "POST")

postStream.Write(postArray, 0, postArray.Length)

' Close the stream and release resources.
postStream.Close()

Console.WriteLine(ControlChars.Cr + "Successfully posted the data.")

Комментарии

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

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

Метод OpenWrite возвращает записываемый поток, используемый для отправки данных в ресурс. Базовый запрос выполняется с методом, указанным в параметре method. Данные отправляются на сервер при закрытии потока. Этот метод блокирует при открытии потока. Чтобы продолжить выполнение во время ожидания потока, используйте один из методов OpenWriteAsync.

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

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

Заметка

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

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

OpenWrite(Uri, String)

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

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

public:
 System::IO::Stream ^ OpenWrite(Uri ^ address, System::String ^ method);
public System.IO.Stream OpenWrite (Uri address, string? method);
public System.IO.Stream OpenWrite (Uri address, string method);
member this.OpenWrite : Uri * string -> System.IO.Stream
Public Function OpenWrite (address As Uri, method As String) As Stream

Параметры

address
Uri

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

method
String

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

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

Stream, используемый для записи данных в ресурс.

Исключения

Параметр addressnull.

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

-или-

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

Комментарии

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

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

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

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

Заметка

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

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