[英]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。 所以你有两个选择:
确保targetPath是临时文件夹或appData文件夹的位置。
可能是一个可能的副本无法使用WebClient.DownloadFile方法从启用了TLS 1.1 / 1.2协议的计算机上下载文件
希望有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.