无法在服务器上传文件"错误500服务器间错误"

时间:2015-08-08 15:19:18

标签: asp.net-mvc-4

我被困在上传文件中它在本地工作正常,但当我在服务器上部署它显示

  

500内部服务器错误..

这里我的代码请查看..哪里错了?

这是我的控制器代码



[HttpPost]
public ActionResult GlovalValues(Global_values REC, HttpPostedFileBase uploadFile)
{
    string strPath = "~/Laptop_File/";
    string Server_path = "";
    string GetFileName = "";

    int id = REC.ID;
    string Desc = REC.GS_Desc;
    string Name = REC.GS_Name;
    string values = REC.GS_Values;
    int Effrows = 0;

    if (uploadFile != null && uploadFile.ContentLength > 0)
    {
        try
        {
            if (!Directory.Exists(Server.MapPath(strPath)))
            {
                DirectoryInfo di = Directory.CreateDirectory(Server.MapPath(strPath));
            }
            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];
                var filePath = Request.FilePath;

                var FileExtension = uploadFile.FileName.Substring(uploadFile.FileName.LastIndexOf('.') + 1).ToLower();

                string ActualFileName = uploadFile.FileName;

                GetFileName = Path.GetFileNameWithoutExtension(uploadFile.FileName);


                if (file != null && file.ContentLength > 0)
                {
                    string UploadFileName = Path.GetFileName(GetFileName + "." + FileExtension);
                    Server_path = Path.Combine(Server.MapPath("~/Laptop_File/"), UploadFileName);

                    if (FileExtension == "xlsx" || FileExtension == "xltx" || FileExtension == "xls" ||      FileExtension == "xlt ")
                    {
                        file.SaveAs(Server_path);
                    }
                }
            }           
        }
        catch (Exception ex)
        {
            throw;
        }
    }
    return RedirectToAction("Global_Values_List", "GS_Global_Values");
}




这是我的观点



@using (Html.BeginForm("GlovalValues", "GS_Global_Values", FormMethod.Post, new { @id = "id", @enctype = "multipart/form-data" }))
{
    <div class="form-group">
        <label> Uplaod File : </label>
        <div class="col-md-10">
            <input type="file" name="uploadFile"  id="fileupload" />
        </div>
     </div>

     <div class="form-group">
         <div class="col-md-offset-2 col-md-10">
             <input type="submit" value="Create" class="btn btn-default" />
          </div>
     </div>
}
&#13;
&#13;
&#13;

请帮助我弄清楚什么是错的

2 个答案:

答案 0 :(得分:2)

在我的情况下,它来自于权限。当我在IIS Express上本地运行我的项目时,一切都很好,我可以正确上传文件,但是当我在IIS 8上部署它时,它已经返回了我&#34;错误500内部服务器错误&#34;用于文件上传。 我已经更改了&#34; IIS_IUSRS&#34;的权限。 on&#34;上传&#34; IIS 8中的文件夹如下:

enter image description here

enter image description here

enter image description here

现在它工作正常。

答案 1 :(得分:0)

检查服务器上您的应用程序池是否具有网络服务权限或具有更高权限的其他用户修改目录&amp;文件写作。 如果您的代码在本地工作,那么这似乎是唯一的问题。