获取"无法访问此网站"来自远程服务器

时间:2016-12-21 15:49:45

标签: asp.net-mvc razor

我有一个.NET MVC项目,我试图从临时文件夹下载文件。这是我的观看代码:

window.open('@Url.Action("DownloadDocument", "Controller")?fileName=' + fileName, '_blank');

这是我的控制器代码:

    public FileResult DownloadDocument(string fileName)
    {
        string path = Web.Common.Properties.Settings.Default.TempDocPath + "OpenTable\\";
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }

        return File(fileName, "application/xml", fileName + ".xml");
    }

此代码适用于IIS,正在下载文件。但是我尝试从远程服务器下载时遇到500错误。

  

无法访问此网站   < ...>的网页可能暂时停止或可能已永久移动到新的网址。   ERR_INVALID_RESPONSE

最糟糕的是,系统中有一些几乎完全相同的代码片段,它们在IIS和远程服务器上都有效。

有什么建议可以做什么?

更新

好消息。当我尝试邮递员时,它抛出了错误路径的文件未找到错误。这很容易解决:

return File(Path.Combine(path, fileName), "application/xml", fileName + ".xml");

所以它让我感到困惑...它是如何以及为什么它在IIS上以错误的路径在本地工作?

1 个答案:

答案 0 :(得分:0)

您需要在Web应用程序的根文件夹中创建临时文件夹,例如〜/ Temp,然后使用下面的代码访问该文件夹而不是Web.Common.Properties.Settings.Default.TempDocPath,我认为这可能只是一个常数。

System.Web.Hosting.HostingEnvironment.MapPath("~/Temp")