4

ASP.NET MVC 4 剃刀:

我已经为此工作了一段时间,所以如果我遗漏了一些明显的东西,我深表歉意,但我将非常感谢可以提供的任何帮助。

简而言之,我要做的是使用 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 文件似乎包含从网页中下载它们的代码,如果我尝试使用图像之类的东西,图像就会损坏。因此,再次感谢任何帮助。

提前致谢!

4

1 回答 1

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);
于 2014-01-10T16:33:21.163 回答