FtpWebResponse.ContentLength プロパティ
アセンブリ: System (system.dll 内)


FTP サーバーから応答ストリームが返されると、ContentLength プロパティがストリームのバイト数を格納します。応答でデータが返されたなかった場合やサーバーがコンテンツの長さに関する情報を送信しなかった場合、ContentLength は -1 を返します。データが返された場合、戻り値はゼロ以上の値になります。たとえば、ListDirectory フィールドを使用する要求の場合、ContentLength プロパティは常に -1 を返します。UploadFile メソッドを使用する要求の場合、ContentLength プロパティは常にゼロになります。DownloadFile メソッドを使用する要求の場合、このプロパティは、ダウンロードしたファイルにデータが含まれていればゼロより大きい値になり、ファイルが空だった場合はゼロになります。
GetFileSize メソッドを使用する要求の場合、ContentLength は、サーバー上の指定したファイルのサイズを返します。

指定した FTP サーバーからファイルをダウンロードするコード例を次に示します。このプロパティには、ダウンロードしたファイルのバイト数が格納されます。
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; }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からFtpWebResponse.ContentLength プロパティを検索する場合は、下記のリンクをクリックしてください。

- FtpWebResponse.ContentLength プロパティのページへのリンク