WebClient下载- '访问路径'c:windowssystem32inetsrvM

本文关键字:windowssystem32inetsrvM 路径 访问 下载 WebClient | 更新日期: 2023-09-27 18:13:06

我正在尝试从本地机器上的另一个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:驱动器上的一个文件夹,我实际要下载的文件就在那个目录下。

WebClient下载- '访问路径'c:windowssystem32inetsrvM

不,它试图将文件保存到 C:'windows'system32'inetsrv'MyPrintManager.exe

这是因为C:'windows'system32'inetsrv是您的进程的工作目录,并且您刚刚给出了一个相对文件名。

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

WebClient web = new WebClient();
string url = "http://.../FILENAME.jpg";
web.DownloadFile(new Uri(url), "C:/FILENAME.jpg");