Udostępnij za pośrednictwem


WebClient.OpenWrite Metoda

Definicja

Otwiera strumień do zapisywania danych w zasobie przy użyciu określonego identyfikatora URI.

Przeciążenia

OpenWrite(String)

Otwiera strumień do zapisywania danych w określonym zasobie.

OpenWrite(Uri)

Otwiera strumień do zapisywania danych w określonym zasobie.

OpenWrite(String, String)

Otwiera strumień do zapisywania danych w określonym zasobie przy użyciu określonej metody.

OpenWrite(Uri, String)

Otwiera strumień do zapisywania danych w określonym zasobie przy użyciu określonej metody.

OpenWrite(String)

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

Otwiera strumień do zapisywania danych w określonym zasobie.

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

Parametry

address
String

Identyfikator URI zasobu do odbierania danych.

Zwraca

Stream używany do zapisywania danych w zasobie.

Wyjątki

Parametr address jest null.

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

-lub-

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

Przykłady

Poniższy przykład kodu odczytuje dane z wiersza polecenia i używa OpenWrite do uzyskania strumienia do zapisywania danych. Stream zwrócony przez OpenWrite jest zamykany po wysłaniu danych.

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

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 OpenWrite zwraca zapisywalny strumień używany do wysyłania danych do zasobu. Ta metoda blokuje podczas otwierania strumienia. Aby kontynuować wykonywanie podczas oczekiwania na strumień, użyj jednej z metod OpenWriteAsync.

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

OpenWrite(Uri)

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

Otwiera strumień do zapisywania danych w określonym zasobie.

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

Parametry

address
Uri

Identyfikator URI zasobu do odbierania danych.

Zwraca

Stream używany do zapisywania danych w zasobie.

Wyjątki

Parametr address jest null.

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

-lub-

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

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 OpenWrite zwraca zapisywalny strumień używany do wysyłania danych do zasobu. Ta metoda blokuje podczas otwierania strumienia. Aby kontynuować wykonywanie podczas oczekiwania na strumień, użyj jednej z metod OpenWriteAsync.

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

OpenWrite(String, String)

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

Otwiera strumień do zapisywania danych w określonym zasobie przy użyciu określonej metody.

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

Parametry

address
String

Identyfikator URI zasobu do odbierania danych.

method
String

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

Zwraca

Stream używany do zapisywania danych w zasobie.

Wyjątki

Parametr address jest null.

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

-lub-

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

Przykłady

Poniższy przykład kodu odczytuje dane z wiersza polecenia i używa OpenWrite do uzyskania strumienia używanego do zapisywania danych. Aby wysłać dane, należy zamknąć Stream zwrócone przez 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.")

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 OpenWrite zwraca zapisywalny strumień używany do wysyłania danych do zasobu. Żądanie bazowe jest wykonywane przy użyciu metody określonej w parametrze method. Dane są wysyłane do serwera po zamknięciu strumienia. Ta metoda blokuje podczas otwierania strumienia. Aby kontynuować wykonywanie podczas oczekiwania na strumień, użyj jednej z metod OpenWriteAsync.

Jeśli parametr method określa metodę, która nie jest rozumiana przez serwer, 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 (""), a address nie określa adresu bezwzględnego, address musi być względnym identyfikatorem URI połączonym z BaseAddress w celu utworzenia bezwzględnego identyfikatora 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

OpenWrite(Uri, String)

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

Otwiera strumień do zapisywania danych w określonym zasobie przy użyciu określonej metody.

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

Parametry

address
Uri

Identyfikator URI zasobu do odbierania danych.

method
String

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

Zwraca

Stream używany do zapisywania danych w zasobie.

Wyjątki

Parametr address jest null.

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

-lub-

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

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 OpenWrite zwraca zapisywalny strumień używany do wysyłania danych do zasobu. Ta metoda blokuje podczas otwierania strumienia. Aby kontynuować wykonywanie podczas oczekiwania na strumień, użyj jednej z metod OpenWriteAsync.

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