找不到路径'C:\ Users \ Username \ Desktop \ GPUpdate.xlsx'的一部分。仅在IE ASP.NET中

时间:2016-06-14 15:07:32

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

我一直只在IE中遇到这个问题,不知道为什么。一切都在我的本地机器和Chrome中正常工作,但IE没有。 Web MVC应用程序基本上将用户文件上载到指定的服务器位置。该应用程序托管在IIS 8.5中。我已经为运行应用程序池的用户帐户提供了对指定文件夹的访问权限。

请参阅以下代码。

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");
                if (!Directory.Exists(targetPath))
                {
                    Directory.CreateDirectory(targetPath);
                    file.SaveAs(Path.Combine(targetPath, fileName));
                }
                else
                {

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

任何想法可能是什么问题。

我在下面添加了视图代码。

    @using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <form action="Upload" method="post" enctype="multipart/form-data">
        <table style="margin-top:150px">
            <tr>
                <td>
                    <label for="file"> Filename</label>
                </td>
                <td>
                    <input type="file" name="file" id="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,.xlsm" />
                </td>
                <td>
                    <input type="submit" value="Upload" id="uploadbutton" onclick="showProgressLoadingSpinner()" />
                </td>
            </tr>
        </table>

    </form>
}

1 个答案:

答案 0 :(得分:0)

尝试更改

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

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