FtpWebRequest.GetRequestStream Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de stroom op die wordt gebruikt om gegevens te uploaden naar een FTP-server.
public:
override System::IO::Stream ^ GetRequestStream();
public override System.IO.Stream GetRequestStream();
override this.GetRequestStream : unit -> System.IO.Stream
Public Overrides Function GetRequestStream () As Stream
Retouren
Een beschrijfbaar Stream exemplaar dat wordt gebruikt om gegevens op te slaan die door de huidige aanvraag naar de server moeten worden verzonden.
Uitzonderingen
BeginGetRequestStream(AsyncCallback, Object) is aangeroepen en is niet voltooid.
– of –
Een HTTP-proxy is ingeschakeld en u hebt geprobeerd een andere FTP-opdracht dan DownloadFile, ListDirectoryof ListDirectoryDetails.
Er kan geen verbinding met de FTP-server tot stand worden gebracht.
De Method eigenschap is niet ingesteld op UploadFile of AppendFile.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een bestand naar de gegevensstroom van een aanvraag kopieert en een aanvraag verzendt naar de server om de gegevens te uploaden en toe te voegen aan een bestand.
public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
// The URI described by serverUri should use the ftp:// scheme.
// It contains the name of the file on the server.
// Example: ftp://contoso.com/someFile.txt.
// The fileName parameter identifies the file containing
// the data to be appended to the file on the server.
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.AppendFile;
StreamReader sourceStream = new StreamReader(fileName);
byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
Console.WriteLine("Append status: {0}",response.StatusDescription);
response.Close();
return true;
}
Opmerkingen
Stel de aanvraageigenschappen in voordat u de GetRequestStream methode aanroept. Nadat u de gegevens naar de stream hebt geschreven, moet u de stream sluiten voordat u de aanvraag verzendt.
Als u de Method eigenschap UploadFile niet hebt ingesteld op of AppendFile, kunt u de stream niet ophalen.
GetRequestStream blokken tijdens het wachten op de stream. U kunt dit voorkomen door de BeginGetRequestStream methode aan te roepen in plaats van GetRequestStream.
Note
Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.
Notities voor bellers
Met deze methode wordt netwerkverkeer gegenereerd.