FtpWebRequest.GetRequestStream Methode

Definitie

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.

Van toepassing op

Zie ook