无法使用 C# Web 客户端从 Web 服务器下载 .lst 文件

Cannot download .lst files from web server using C# Web Client

提问人:Nigel Tunnicliffe 提问时间:11/9/2023 更新时间:11/9/2023 访问量:16

问:

我正在使用 C# WebClient 从 Web 服务器下载文件。我的代码是这样的

 using (var Client = new WebClient()
 {
     Client.DownloadFile(Source, Target);
 }

如果要下载的文件的文件扩展名是 .xml 或 .txt,这一切都可以正常工作,但如果是 .lst,即使我知道文件存在,我也会收到 404 错误说“未找到”。我尝试将扩展添加到IIS中允许的扩展列表中,但仍然收到相同的错误。.lst 文件在资源管理器中显示为“MASM 列表”文件 - 这些文件是否被阻止下载?

我还尝试使用HTTP客户端下载文件,但结果相同。除了在下载后更改文件名之外,是否有任何方法可以允许下载 .lst 文件。

谢谢

IIS 下载

评论

0赞 Jalpa Panchal 11/9/2023
请确保在 IIS 中添加了 .lst MIME 类型,并使用 text/plain 或 application/octet-stream 将 iis_iusrs 和 iusr 权限分配给 .lst 文件类型可用的目录。确保 .lst 未在“请求筛选”设置中被阻止。
0赞 Jalpa Panchal 11/9/2023
使用以下代码设置标头:using (var client = new HttpClient()) { // Add headers if needed client.DefaultRequestHeaders.Add("User-Agent", "Your User Agent String"); var response = await client.GetAsync("url to .lst file"); if (response.IsSuccessStatusCode) { var fileBytes = await response.Content.ReadAsByteArrayAsync(); File.WriteAllBytes("path to save the file", fileBytes); } else { // Handle error response } }
0赞 Lex Li 11/10/2023
您需要打开 IIS 日志文件,看看这些 404 错误的子状态代码是什么,learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/......
0赞 Nigel Tunnicliffe 11/10/2023
完美 - 修好了。谢谢
0赞 Jalpa Panchal 11/13/2023
您能否分享哪些建议可以帮助您解决问题

答: 暂无答案