ASP.NET/C#-从其他服务器检测文件大小?

Mat*_*yar 4 c# asp.net

我正在尝试查找服务器上文件的文件大小。我从这个人那里得到的以下代码可为您自己的服务器完成此操作:

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)");
Run Code Online (Sandbox Code Playgroud)

有用。但是,我想查找例如的文件大小:

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

FileInfo finfo = new FileInfo(MyFile);
Run Code Online (Sandbox Code Playgroud)

然后我得到一个讨厌的错误说 URI formats are not supported.

如何使用ASP.NET查找Google徽标的文件大小?

Meh*_*ari 5

您可以使用WebRequest该类向服务器发出HTTP请求并读取Content-Length标头(您可能可以使用HTTP HEAD方法来完成此请求)。但是,并非所有的Web服务器都以Content-Length标头响应。在这种情况下,您必须接收所有数据以获取大小。