【发布时间】:2016-12-21 15:49:44
【问题描述】:
我有一个 .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
最糟糕的是,系统中有一些几乎完全一样的代码 sn-ps 可以在 IIS 和远程服务器中运行。
有什么建议可以做吗?
更新
好消息。当我尝试邮递员时,它抛出了一个路径错误的文件未找到错误。这很容易解决:
return File(Path.Combine(path, fileName), "application/xml", fileName + ".xml");
所以这让我很困惑......它如何以及为什么在 IIS 上以错误的路径本地工作?
【问题讨论】:
-
你能告诉我这个 'Web.Common.Properties.Settings.Default.TempDocPath' 返回什么吗?
-
ping 远程服务器的 URL 时会发生什么?您可以使用 Postman 或通过浏览器从您的计算机访问远程服务器吗?
标签: asp.net-mvc razor