繁体   English   中英

如何在 C# 中使用同步 webclient 请求下载文件而不显示弹出窗口

[英]how to download a file using sync webclient request in c# with out showing popup

我正在使用“webclient”通过 Windows 应用程序中的 url 下载和保存文件。

这是我的代码:

WebClient wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.Cookie, cc);
wc.DownloadFile(new Uri(e.Url.ToString()), targetPath);

这在本地系统中工作正常。(下载文件并自动保存到目标路径而不显示任何弹出窗口)。 但是当我尝试在服务器中执行 .exe 时,它​​会显示保存/打开弹出窗口。 在服务器设置中下载文件是否需要任何修改。 请帮我下载文件而不在服务器中显示弹出窗口。

提前致谢.. 在此处输入图片说明

最后我得到了这个问题的解决方案.. herw代码:

WebClient wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.Cookie, cc);
using (Stream data = wc.OpenRead(new Uri(e.Url.ToString())))
{
    using (Stream targetfile = File.Create(targetPath))
    {
       data.CopyTo(targetfile);
    }
}

在这里我只是替换了代码

wc.DownloadFile(new Uri(e.Url.ToString()), targetPath);

用吹线:

using (Stream data = wc.OpenRead(new Uri(e.Url.ToString())))
{
 using (Stream targetfile = File.Create(targetPath))
 {
    data.CopyTo(targetfile);
 }
}

现在它工作正常..谢谢大家的回复..

默认情况下,如果它位于受保护的文件夹(如ProgramFiles和Windows文件夹),则需要管理权限才能保存到targetPath。 所以你有两个选择:

  1. 在服务器上以管理员身份运行可执
  2. 确保targetPath是临时文件夹或appData文件夹的位置。

  3. 可能是一个可能的副本无法使用WebClient.DownloadFile方法从启用了TLS 1.1 / 1.2协议的计算机上下载文件

希望有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM