ASP.NET MVC已部署应用程序错误'无法找到路径C:\ Users \ UserName \ Documents \ FileName.xlsx'的一部分'仅在IE中

时间:2016-06-02 13:27:44

标签: c# asp.net-mvc internet-explorer iis-8

您好我有一个将文件上传到服务器的MVC应用程序,一切正常在我的本地计算机上运行,​​一旦我部署到服务器,它只能在Chrome中运行,而不能在IE中运行。应用程序读取文件并将其保存在服务器上,我已添加给定。我已向网络服务授予了访问该文件夹的正确权限。虽然当我在IE中运行服务器之外的应用程序时它失败并出现上述错误。请帮助,任何想法?请参阅下面的代码。

[HttpPost]
    public ActionResult Upload(HttpPostedFileBase file)
    {

        List<CleanSupplierClaim> supplierClaimsData = new List<CleanSupplierClaim>();

        try
        {
            if (file.ContentLength > 0)
            {


                var fileName = Path.GetFileName(file.FileName);




                var targetPath = Server.MapPath("~/upload");

                file.SaveAs(Path.Combine(targetPath, fileName));

这是我的app pool config,设置为本地系统

enter image description here

这是文件夹权限设置。

enter image description here

我已经为用户从用户机器读取文件分配了正确的权限,在我的例子中是网络服务。虽然在IE中它引发了一个例外“无法找到路径的一部分''

我如何解决这个问题,我已经没有想法了。我的IIS版本是8.5

1 个答案:

答案 0 :(得分:0)

如果写:var targetPath = Server.MapPath(&#34; / upload&#34;);

Server.MapPath(&#34;〜&#34;)返回应用程序根目录的物理路径 Server.MapPath(&#34; /&#34;)返回域名根目录的物理路径(不一定与应用程序的根目录相同)