FtpWebResponse.ContentLength FtpWebResponse.ContentLength FtpWebResponse.ContentLength FtpWebResponse.ContentLength Property

Définition

Obtient la longueur des données reçues du serveur FTP.Gets the length of the data received from the FTP server.

public:
 virtual property long ContentLength { long get(); };
public override long ContentLength { get; }
member this.ContentLength : int64
Public Overrides ReadOnly Property ContentLength As Long

Valeur de propriété

Valeur Int64 qui contient le nombre d'octets de données reçus du serveur FTP.An Int64 value that contains the number of bytes of data received from the FTP server.

Exemples

L’exemple de code suivant télécharge un fichier à partir du serveur FTP spécifié.The following code example downloads a file from on the specified FTP server. Cette propriété contient le nombre d’octets dans le fichier téléchargé.This property contains the number of bytes in the downloaded file.

static bool DownloadFileFromServer( Uri^ serverUri, String^ localFileName )
{
   // The serverUri parameter should start with the ftp:// scheme.
   if ( serverUri->Scheme != Uri::UriSchemeFtp )
   {
      return false;
   }

   // Get the object used to communicate with the server.
   // Note that the cast to FtpWebRequest is done only
   // for the purposes of illustration. If your application
   // does not set any properties other than those defined in the
   // System.Net.WebRequest class, you can use the following line instead:
   // WebRequest request = WebRequest.Create(serverUri);
   //
   FtpWebRequest^ request = dynamic_cast<FtpWebRequest^>(WebRequest::Create( serverUri ));
   request->Method = WebRequestMethods::Ftp::DownloadFile;
   FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
   Stream^ responseStream = nullptr;
   StreamReader^ readStream = nullptr;
   StreamWriter^ writeStream = nullptr;
   try
   {
      responseStream = response->GetResponseStream();
      readStream = gcnew StreamReader( responseStream,System::Text::Encoding::UTF8 );
      
      // Display information about the data received from the server.
      Console::WriteLine( "Bytes received: {0}", response->ContentLength );
      Console::WriteLine( "Message from server: {0}", response->StatusDescription );
      Console::WriteLine( "Resource: {0}", response->ResponseUri );

      // Write the bytes received from the server to the local file.
      if ( readStream != nullptr )
      {
         writeStream = gcnew StreamWriter( localFileName,false );
         writeStream->Write( readStream->ReadToEnd() );
      }
   }
   finally
   {
      if ( readStream != nullptr )
      {
         readStream->Close();
      }

      if ( response != nullptr )
      {
         response->Close();
      }

      if ( writeStream != nullptr )
      {
         writeStream->Close();
      }
   }

   return true;
}
public static bool DownloadFileFromServer(Uri serverUri, string localFileName)
{
    // The serverUri parameter should start with the ftp:// scheme.
    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    // Note that the cast to FtpWebRequest is done only
    // for the purposes of illustration. If your application
    // does not set any properties other than those defined in the
    // System.Net.WebRequest class, you can use the following line instead:
    // WebRequest request = WebRequest.Create(serverUri);
    //
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.DownloadFile;
    
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();
    
    Stream responseStream = null;
    StreamReader readStream = null;
    StreamWriter writeStream = null;
    try
    {
        responseStream = response.GetResponseStream(); 
        readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
        // Display information about the data received from the server.
        Console.WriteLine("Bytes received: {0}",response.ContentLength);   
         
        Console.WriteLine("Message from server: {0}", response.StatusDescription);
        Console.WriteLine("Resource: {0}", response.ResponseUri);
       
        // Write the bytes received from the server to the local file.
        if (readStream != null)
        {
            writeStream = new StreamWriter(localFileName, false);
            writeStream.Write(readStream.ReadToEnd());
        }
    }
    finally
    {
        if (readStream != null)
        {
            readStream.Close();
        }
        if (response != null)
        {
            response.Close();
        }
        if (writeStream != null)
        {
            writeStream.Close();
        }
    }
    return true;
}

Remarques

Lorsqu’un flux de réponse est retourné par le serveur FTP, ContentLength la propriété contient le nombre d’octets dans le flux.When a response stream is returned by the FTP server, the ContentLength property contains the number of bytes in the stream. ContentLengthRetourne − 1 si aucune donnée n’a été retournée dans la réponse ou si le serveur n’a pas envoyé d’informations sur la longueur du contenu.ContentLength returns −1 if no data was returned in the response or if the server did not send content length information. La valeur de retour est supérieure ou égale à zéro si les données étaient ou devaient avoir été retournées.The return value is greater than or equal to zero if data was or should have been returned. Par exemple, pour les requêtes qui utilisent ListDirectory le champ, ContentLength la propriété retourne toujours − 1.For example, for requests that use the ListDirectory field, the ContentLength property always returns −1. Pour les demandes qui utilisent UploadFile la méthode, ContentLength la propriété est toujours égale à zéro.For requests that use the UploadFile method, the ContentLength property is always zero. Pour les demandes qui utilisent DownloadFile la méthode, la propriété est supérieure à zéro si le fichier téléchargé contient des données et est égal à zéro si elle est vide.For requests that use the DownloadFile method, the property is greater than zero if the downloaded file contained data and is zero if it was empty.

Pour les demandes qui utilisent GetFileSize la méthode ContentLength , retourne la taille du fichier spécifié sur le serveur.For requests that use the GetFileSize method, ContentLength returns the size of the specified file on the server.

S’applique à

Voir aussi