ASP.NET MVC 4 Razor:
我已经在这方面工作了一段时间,所以如果我遗漏了一些明显的东西,我会道歉,但我会非常感谢能提供的任何帮助。
简而言之,我要做的是使用C#从URI下载XML文件。它应该非常简单,但URI会导致一个空白页面,其下载提示弹出窗口中填充了动态创建的文件名。
由于其机密性质,我无法提供URI,但这里是我一直在玩的代码。 (原谅我对这件事的无知,这是我第一次尝试这样的事情)
byte[] data;
using (WebClient Client = new WebClient())
{
data = Client.DownloadData(uriString + fileString);
}
File.WriteAllBytes(dirString + fileString, data);
我也试过了:
using (WebClient Client = new WebClient())
{
Client.DownloadFile(uriString + fileString, dirString + fileString);
}
老实说,这段代码并不适合我。下载的文件不正确。 XML文件似乎包含他们从中下载的网页中的代码,如果我尝试像图像一样,图像就会被破坏。所以,再次,任何援助将不胜感激。
提前致谢!
答案 0 :(得分:0)
您使用的URI可能是错误的。您正在使用打开弹出页面的URI。弹出页面应该对动态生成的文件执行另一个GET。
要自动执行此过程,您应使用WebRequest获取弹出页面的内容。刮取页面内容以获取下载文件的实际URL。然后使用您编写的代码下载文件。
var request = WebRequest.Create("PopupUrl");
var response = request.GetResponse();
string url = GetUrlFromResponseByRegExOrXMLParsing();
var client = new WebClient();
webClient.DownloadFile(url, filePath);