2008-12-10 45 views
3

我正在嘗試查找服務器上文件的文件大小。我從this guy得到的以下代碼可以完成您自己的服務器:ASP.NET/C# - 從其他服務器檢測文件大小?

string MyFile = "~/photos/mymug.gif"; 

FileInfo finfo = new FileInfo(Server.MapPath(MyFile)); 
long FileInBytes = finfo.Length; 
long FileInKB = finfo.Length/1024; 

Response.Write("File Size: " + FileInBytes.ToString() + 
    " bytes (" + FileInKB.ToString() + " KB)"); 

它有效。不過,我想找到的文件大小,例如:

string MyFile = "http://www.google.com/intl/en_ALL/images/logo.gif"; 

FileInfo finfo = new FileInfo(MyFile); 

然後我得到一個討厭的錯誤說URI formats are not supported.

我如何才能找到谷歌的標誌與ASP.NET文件的大小?

回答

4

您可以使用WebRequest類向服務器發出HTTP請求,並讀取Content-Length標題(您可以使用HTTP HEAD方法來完成此操作)。但是,並非所有Web服務器都以Content-Length標題響應。在這些情況下,您必須收到所有數據才能獲得大小。

0

要獲得此值,您必須首先在本地下載文件,然後才能使用標準方法獲取其大小。

+0

當。這是唯一的方法嗎? – MattSayar 2008-12-10 19:15:05

+0

Mehrdad提供了我所知道的唯一另一種替代方法,但正如他所提到的,它在支持 – 2008-12-10 19:18:31

相關問題