6

我们需要以下内容:

如果文件实际上是文件,则从 URL 下载文件。否则,如果它的页面什么都不做。

举个简单的例子,我有以下下载文件:

 My.Computer.Network.DownloadFile(
"http://www.wired.com/wiredenterprise/wp-content/uploads/2013/07/ff_googleinfrastructure_large.jpg",
"d:\ff_googleinfrastructure_large.jpg")

但是如果我们有一个普通的网页,例如“ http://www.google.com ”,它只会下载我们不想要的页面。

那么我怎样才能知道一个 URL 是否会导致一个文件而不是一个页面呢?

它可以是任何类型的文件,因此检查 URL 是否以 .zip 或 .jpg 或 .docx 或...结尾根本行不通。

VB.NET 或 C# 中的答案都是受欢迎的,这就是我标记两者的原因。

4

1 回答 1

9

提前,没有 100% 准确的方法。您可以检查扩展名(假设有一个),但即使这样也不是 100% 万无一失的。

如果值为或某些MIME 变体,您可以发出请求并检查content-type标头并退出下载文件。正如 olydis 在下面指出的那样,您可以执行请求以获取响应标头,然后决定是否要在此时完整下载文件。text/htmltextHEAD

于 2013-09-16T13:17:32.013 回答