FtpWebRequest.GetRequestStream Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère le flux utilisé pour charger des données sur un serveur FTP.
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
Retours
Instance accessible Stream en écriture utilisée pour stocker les données à envoyer au serveur par la requête actuelle.
Exceptions
BeginGetRequestStream(AsyncCallback, Object) a été appelé et n’a pas terminé.
- ou -
Un proxy HTTP est activé et vous avez tenté d’utiliser une commande FTP autre que DownloadFile, ListDirectoryou ListDirectoryDetails.
Impossible d’établir une connexion au serveur FTP.
La Method propriété n’est pas définie UploadFile sur ou AppendFile.
Exemples
L’exemple de code suivant illustre la copie d’un fichier dans le flux de données d’une demande et l’envoi d’une demande au serveur pour charger les données et les ajouter à un fichier.
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;
}
Remarques
Définissez les propriétés de la requête avant d’appeler la GetRequestStream méthode. Après avoir écrit les données dans le flux, vous devez fermer le flux avant d’envoyer la demande.
Si vous n’avez pas défini la Method propriété UploadFile sur ou AppendFilesi vous ne pouvez pas obtenir le flux.
GetRequestStream bloque lors de l’attente du flux. Pour éviter cela, appelez la méthode à la BeginGetRequestStream place de GetRequestStream.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Notes pour les appelants
Cette méthode génère le trafic réseau.