Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用WebBrowser下载C#文件_C# - Fatal编程技术网

使用WebBrowser下载C#文件

使用WebBrowser下载C#文件,c#,C#,有关问题和解决方案,请访问 如果有包括下载文件名在内的直接URL,这将非常有效 但有时一些URL会动态生成文件。所以URL并没有文件名,但在请求URL后,一些网站会动态创建文件,然后打开/保存对话框 例如,某些链接会动态生成pdf文件 如何处理此类URL?如果您可以控制服务器代码,则可以确保它将内容处置头添加到HTTP响应中,例如: Content-Disposition: attachment; filename=<put your filename here> 内容配置:附件;

有关问题和解决方案,请访问

如果有包括下载文件名在内的直接URL,这将非常有效

但有时一些URL会动态生成文件。所以URL并没有文件名,但在请求URL后,一些网站会动态创建文件,然后打开/保存对话框

例如,某些链接会动态生成pdf文件


如何处理此类URL?

如果您可以控制服务器代码,则可以确保它将内容处置头添加到HTTP响应中,例如:

Content-Disposition: attachment; filename=<put your filename here>
内容配置:附件;文件名=
然后,您可以在客户端上查找该头,以便决定在后台下载该文件

即使您无法控制服务器代码,也要检查HTTP响应是否已经包含此标头。我相信这是大多数浏览器为了知道如何下载文件而寻找的标准头

指示有关使用内容处置标头的一些准则,包括以下各项:

  • 文件名应为US-ASCII格式 查塞特

  • 文件名不应包含 任何目录路径信息 指定的

  • 文件名不应为空 用双引号括起来,即使 大多数浏览器都支持它

  • 内容类型标题应在 内容配置

  • 内容类型 标题应引用未知的 MIME类型(至少在旧版本之前) 浏览器消失)


Scott Hanselman也有。

我知道这已经三年了,所以可能是一个更老的问题和答案。。。不管怎样,我想知道如何才能做到,“然后在客户端上查找该头文件,以便决定在后台下载该文件。”我没有看到WebBrowser处理头文件的任何属性。