0

我正在尝试从本地计算机上的另一个 IIS 站点下载文件。我的主要网站正试图从另一个公共网站下载,其中包含一些用户可以下载的文件。

[HttpGet]
public ActionResult DownloadMyPrintManagerInstaller()
{
    bool success;
    try
    {
        using (var client = new WebClient())
        {
            client.DownloadFile(new Uri("http://localhost:182//MyPrintInstaller.exe"), "MyPrintManager.exe");
        }
        success = true;
    }
    catch (Exception)
    {
        success = false;
    }

    return Json(new { Success = success }, JsonRequestBehavior.AllowGet);
}

出于某种原因,它试图从C:\windows\system32\inetsrv\MyPrintManager.exe? 有谁知道如何避免它指向该目录?我需要修改我的代码或我的 IIS 配置吗?

我的这个站点的虚拟目录是一个位于我的 C: 驱动器上的文件夹,而我真正想要下载的文件就在那个目录中。

4

2 回答 2

4

不,它正在尝试将文件保存 C:\windows\system32\inetsrv\MyPrintManager.exe.

那是因为C:\windows\system32\inetsrv它是您的进程的工作目录,而您刚刚给出了一个相对文件名。

指定一个绝对文件名,它准确地说明了您希望文件存储的位置,它应该没问题。

于 2013-05-10T15:00:20.427 回答
-1
WebClient web = new WebClient();
string url = "http://.../FILENAME.jpg";
web.DownloadFile(new Uri(url), "C:/FILENAME.jpg");
于 2013-11-07T23:43:18.867 回答