图像上传工作在localhost但不在IIS服务器[Asp.net Mvc]

时间:2017-04-13 10:57:21

标签: asp.net-mvc iis localhost iis-8

我正在开发一个MVC项目,我试图通过ajax上传图像;这在localhost上运行正常,但它在IIS Web服务器上不起作用。按下提交按钮后,它在控制台上显示错误,说:

http://blahblahmywebsite.com/UserRegistration/UserPhoto 500(内部服务器错误)”。

我现在正在努力解决这个问题2天,有什么建议吗?

N.B。

- >我已经尝试过:url:'@ Url.Action(“FunctionName”,“Controller”)'

- >应用程序池中的操作(由其他在线帖子建议)

- >我在使用IIS 8的godaddy服务器上托管了此站点。

- >我正在使用.NET 4.5.2作为本地服务器

这是我的jQuery:

     $("#fileUserImage").change(function () {
        userImage();
    });

    function userImage() {
        var formData = new FormData();
        var totalFiles = document.getElementById("fileUserImage").files.length;
        for (var i = 0; i < totalFiles; i++) {
            var file = document.getElementById("fileUserImage").files[i];
            formData.append("fileUserImage", file);
        }
        $.ajax({
            type: "POST",
            url: '/UserRegistration/UserPhoto',
            data: formData,
            dataType: 'json',
            contentType: false,
            processData: false,
            success: function (image) {
                $("#imgUserImage").attr('src', '../' + image);

                alert("Entered into success block");

            },
            error: function (error) {
                alert("Entered into error block");
            }
        });
    }

这是我的Html:

    <div class="form-group">
         <label class="col-md-5 control-label">Photo</label>
         <div class="col-md-7">
            <input type="file" id="fileUserImage" name="fileUserImage">
         </div>
    </div>
    <div class="form-group">
        <div class="img-wrap col-md-offset-5">
            <img class="example-image" id="imgUserImage" width="220" style="padding-left:17px;" />
        </div>
    </div>

这是我的控制器:

    [HttpPost]
    public JsonResult UserPhoto()
    {
        var userPic = "";
        for (int i = 0; i < Request.Files.Count; i++)
        {
            var file = Request.Files[i];

            if (file != null)
            {
                var fileName = Path.GetFileName(file.FileName);

                var path = Path.Combine(Server.MapPath("~/Images/User/"), DateTime.Now.Day + "" + DateTime.Now.Month + "" + DateTime.Now.Year + fileName);
                file.SaveAs(path);
                userPic = "Images/User/" + DateTime.Now.Day + "" + DateTime.Now.Month + "" + DateTime.Now.Year + fileName;
            }
            else
            {
                userPic = "";
            }
        }
        return Json(userPic, JsonRequestBehavior.AllowGet);
    }

2 个答案:

答案 0 :(得分:4)

检查目标文件夹 - &gt;右键单击文件夹 - &gt;属性 - &gt;安全选项卡 - &gt;编辑按钮 - &gt;允许安全。见下图。 enter image description here

enter image description here

答案 1 :(得分:0)

我在远程服务器上托管了我的网站并遇到了同样的问题。后来我发现应用程序用户没有图像文件夹的添加/编辑权限。

相关问题