我们需要以下内容:
如果文件实际上是文件,请从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#中的答案都是受欢迎的,这就是我标记两者的原因。
答案 0 :(得分:9)
提前,没有100%准确的方法。您可以检查扩展(假设有一个扩展),但即使这样也不是100%万无一失。
如果值为content-type
或某些text/html
MIME变体,您可以发出请求并检查text
标头并保释下载文件。正如olydis在下面指出的那样,您可以执行HEAD
请求以获取响应标头,然后决定是否要在此时完整下载文件。