FtpWebResponse.GetResponseStream Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte datový proud, který obsahuje data odpovědí odeslaná ze serveru FTP.
public:
override System::IO::Stream ^ GetResponseStream();
public override System.IO.Stream GetResponseStream ();
override this.GetResponseStream : unit -> System.IO.Stream
Public Overrides Function GetResponseStream () As Stream
Návraty
Čitelná Stream instance, která obsahuje data vrácená s odpovědí. V opačném případě, Null pokud server nevrátil žádná data odpovědi.
Výjimky
Odpověď nevrátila datový proud.
Příklady
Následující příklad kódu ukazuje získání streamu odpovědi pro ListDirectory požadavek.
static bool ListFilesOnServer( Uri^ serverUri )
{
// The serverUri should start with the ftp:// scheme.
if ( serverUri->Scheme != Uri::UriSchemeFtp )
{
return false;
}
// Get the object used to communicate with the server.
FtpWebRequest^ request = dynamic_cast<FtpWebRequest^>(WebRequest::Create( serverUri ));
request->Method = WebRequestMethods::Ftp::ListDirectory;
// Get the ServicePoint object used for this request, and limit it to one connection.
// In a real-world application you might use the default number of connections (2),
// or select a value that works best for your application.
ServicePoint^ sp = request->ServicePoint;
Console::WriteLine( "ServicePoint connections = {0}.", sp->ConnectionLimit );
sp->ConnectionLimit = 1;
FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
// The following streams are used to read the data returned from the server.
Stream^ responseStream = nullptr;
StreamReader^ readStream = nullptr;
try
{
responseStream = response->GetResponseStream();
readStream = gcnew StreamReader( responseStream,System::Text::Encoding::UTF8 );
if ( readStream != nullptr )
{
// Display the data received from the server.
Console::WriteLine( readStream->ReadToEnd() );
}
Console::WriteLine( "List status: {0}", response->StatusDescription );
}
finally
{
if ( readStream != nullptr )
{
readStream->Close();
}
if ( response != nullptr )
{
response->Close();
}
}
return true;
}
public static bool ListFilesOnServer(Uri serverUri)
{
// The serverUri should start with the ftp:// scheme.
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
return false;
}
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.ListDirectory;
// Get the ServicePoint object used for this request, and limit it to one connection.
// In a real-world application you might use the default number of connections (2),
// or select a value that works best for your application.
ServicePoint sp = request.ServicePoint;
Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit);
sp.ConnectionLimit = 1;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
// The following streams are used to read the data returned from the server.
Stream responseStream = null;
StreamReader readStream = null;
try
{
responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
if (readStream != null)
{
// Display the data received from the server.
Console.WriteLine(readStream.ReadToEnd());
}
Console.WriteLine("List status: {0}",response.StatusDescription);
}
finally
{
if (readStream != null)
{
readStream.Close();
}
if (response != null)
{
response.Close();
}
}
return true;
}
Poznámky
Po přečtení dat musíte datový proud zavřít. Datový proud se automaticky zavře, když zavřete objekt, který ho FtpWebResponse obsahuje.
Vyvolá se výjimka, pokud metoda požadavku není DownloadFile nebo ListDirectory.