C# 将应用部署到live Server时出现500内部服务器错误

C# 将应用部署到live Server时出现500内部服务器错误,c#,javascript,asp.net,ajax,file-upload,C#,Javascript,Asp.net,Ajax,File Upload,我的ASP.NETWeb应用程序在其中一个页面上有一个简单的ajax文件上传,在测试时在我的本地主机上运行良好,但是当我将此发布到网站时,我得到一个500内部服务器错误。以下是Google chrome控制台上的输出: POST http://switchclothing.andrewmwest.co.uk/StoreManager/UploadFiles 500 (Internal Server Error) jquery-2.1.0.min.js:4 l.cors.a.crossDomain

我的ASP.NETWeb应用程序在其中一个页面上有一个简单的ajax文件上传,在测试时在我的本地主机上运行良好,但是当我将此发布到网站时,我得到一个500内部服务器错误。以下是Google chrome控制台上的输出:

POST http://switchclothing.andrewmwest.co.uk/StoreManager/UploadFiles 500 (Internal Server Error) jquery-2.1.0.min.js:4
l.cors.a.crossDomain.send jquery-2.1.0.min.js:4
o.extend.ajax jquery-2.1.0.min.js:4
send jquery.fileupload.js:834
$.widget._onSend jquery.fileupload.js:896
(anonymous function) jquery-ui-1.10.4.js:401
data.submit jquery.fileupload.js:612
(anonymous function) jquery.fileupload.js:180
j jquery-2.1.0.min.js:2
k.add jquery-2.1.0.min.js:2
$.widget.options.add jquery.fileupload.js:179
$.Widget._trigger jquery-ui-1.10.4.js:785
(anonymous function) jquery.fileupload.js:935
o.extend.each jquery-2.1.0.min.js:2
$.widget._onAdd jquery.fileupload.js:928
(anonymous function) jquery-ui-1.10.4.js:401
(anonymous function) jquery.fileupload.js:1105
j jquery-2.1.0.min.js:2
k.add jquery-2.1.0.min.js:2
d.always jquery-2.1.0.min.js:2
$.widget._onChange jquery.fileupload.js:1099
(anonymous function) jquery-ui-1.10.4.js:401
handlerProxy jquery-ui-1.10.4.js:702
o.event.dispatch jquery-2.1.0.min.js:3
r.handle jquery-2.1.0.min.js:3
单击请求的url时,我在浏览器页面中出现以下错误:

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /StoreManager/UploadFiles
我还附上了我的代码如下:

[HttpPost]
        public JsonResult UploadFiles()
        {
            var r = new List<UploadFilesResult>();

            foreach (string file in Request.Files)
            {
                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
                if (hpf.ContentLength == 0)
                    continue;

                string savedFileName = Url.Content(Path.Combine(Server.MapPath("~/Images"), Path.GetFileName(hpf.FileName)));

                var path = GetNewPathForDupes(savedFileName);

                hpf.SaveAs(path);

                r.Add(new UploadFilesResult()
                {
                    Name = "/Images/" + Path.GetFileName(path),
                    Length = hpf.ContentLength,
                    Type = hpf.ContentType
                });
            }
            return Json(r);
        }

        private string GetNewPathForDupes(string path)
        {
            string directory = Path.GetDirectoryName(path);
            string filename = Path.GetFileNameWithoutExtension(path);
            string extension = Path.GetExtension(path);
            int counter = 1;

            string newFullPath;

            do
            {
                string newFilename = "{0}({1}){2}".FormatWith(filename, counter, extension);
                newFullPath = Path.Combine(directory, newFilename);
                counter++;
            } while (System.IO.File.Exists(newFullPath));

            return newFullPath;
        } 
[HttpPost]
公共JsonResult上载文件()
{
var r=新列表();
foreach(Request.Files中的字符串文件)
{
HttpPostedFileBase hpf=Request.Files[file]作为HttpPostedFileBase;
如果(hpf.ContentLength==0)
继续;
string savedFileName=Url.Content(Path.Combine(Server.MapPath(“~/Images”)、Path.GetFileName(hpf.FileName));
var path=GetNewPathForDupes(savedFileName);
hpf.SaveAs(路径);
r、 添加(新上载文件结果()
{
Name=“/Images/”+Path.GetFileName(Path),
长度=hpf.ContentLength,
Type=hpf.ContentType
});
}
返回Json(r);
}
私有字符串GetNewPathForDupes(字符串路径)
{
string directory=Path.GetDirectoryName(路径);
string filename=Path.GetFileNameWithoutExtension(Path);
字符串扩展名=Path.GetExtension(Path);
int计数器=1;
字符串newFullPath;
做
{
字符串newFilename=“{0}({1}){2}”。FormatWith(文件名、计数器、扩展名);
newFullPath=Path.Combine(目录,newFilename);
计数器++;
}而(System.IO.File.Exists(newFullPath));
返回newFullPath;
} 
我的HTML和javascript代码:

$(document).ready(function () {
            $('#fileupload').fileupload({
                dataType: 'json',
                url: "/StoreManager/UploadFiles",
                autoUpload: true,
                done: function (e, data) {
                    var json = data.result[0];

                    $("#picurl").val(json['Name']);

                    $('.file_name').html(json['Name']);
                    $('.file_type').html(json['Type']);
                    $('.file_size').html(json['Length']);
                }
            }).on('fileuploadprogressall', function (e, data) {
                var progress = parseInt(data.loaded / data.total * 100, 10);
                $('.progress .progress-bar').css('width', progress + '%');
            });
        });


@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Footwear</h4>
        <hr />
        @Html.ValidationSummary(true)
        @Html.HiddenFor(model => model.FootwearId)

        <div class="form-group">
            @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Name)
                @Html.ValidationMessageFor(model => model.Name)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Price, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Price)
                @Html.ValidationMessageFor(model => model.Price)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FootwearPicUrl, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.TextBoxFor(model => model.FootwearPicUrl, new { @id = "picurl", @readonly = "readonly" })
                @Html.ValidationMessageFor(model => model.FootwearPicUrl)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Colour, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Colour)
                @Html.ValidationMessageFor(model => model.Colour)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.DepartmentId, "DepartmentId", new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("DepartmentId", String.Empty)
                @Html.ValidationMessageFor(model => model.DepartmentId)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.BrandId, "BrandId", new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("BrandId", String.Empty)
                @Html.ValidationMessageFor(model => model.BrandId)
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Save" class="btn btn-default" />
            </div>
        </div>
    </div>
}

<span class="btn btn-success fileinput-button">
    <i class="glyphicon glyphicon-plus"></i>
    <span>Add files...</span>
    <input id="fileupload" type="file" name="files[]">
</span>
<br />
<div class="progress">
    <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;">
        <span class="sr-only">0% complete</span>
    </div>
</div>
<br />
<div class="file_name"></div>
<br />
<div class="file_type"></div>
<br />
<div class="file_size"></div>
$(文档).ready(函数(){
$('#fileupload')。fileupload({
数据类型:“json”,
url:“/StoreManager/UploadFiles”,
自动上传:对,
完成:功能(e,数据){
var json=data.result[0];
$(“#picurl”).val(json['Name']);
$('.file_name').html(json['name']);
$('.file_type').html(json['type']);
$('.file_size').html(json['Length']);
}
}).on('fileuploadprogressall',函数(e,数据){
var progress=parseInt(data.loaded/data.total*100,10);
$('.progress.progress bar').css('width',progress+'%');
});
});
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
鞋类

@Html.ValidationSummary(true) @Html.HiddenFor(model=>model.FootwearId) @LabelFor(model=>model.Name,新的{@class=“controllabel col-md-2”}) @EditorFor(model=>model.Name) @Html.ValidationMessageFor(model=>model.Name) @LabelFor(model=>model.Price,新的{@class=“controllabel col-md-2”}) @EditorFor(model=>model.Price) @Html.ValidationMessageFor(model=>model.Price) @LabelFor(model=>model.FootwearPicUrl,新的{@class=“controllabel col-md-2”}) @Html.TextBoxFor(model=>model.FootwearPicUrl,新的{@id=“picurl”,@readonly=“readonly”}) @Html.ValidationMessageFor(model=>model.FootwearPicUrl) @LabelFor(model=>model.color,新的{@class=“controllabel col-md-2”}) @EditorFor(model=>model.color) @Html.ValidationMessageFor(model=>model.color) @LabelFor(model=>model.DepartmentId,“DepartmentId”,新的{@class=“controllabel col-md-2”}) @DropDownList(“DepartmentId”,String.Empty) @Html.ValidationMessageFor(model=>model.DepartmentId) @LabelFor(model=>model.BrandId,“BrandId”,新的{@class=“controllabel col-md-2”}) @DropDownList(“BrandId”,String.Empty) @Html.ValidationMessageFor(model=>model.BrandId) } 添加文件。。。
完成0%



查看服务器设置后,我发现写入权限被禁用。启用AJAX后,上载工作正常。

服务器运行的IIS版本是什么?其他请求成功解决了吗?应该是一个评论,而不是回答你如何自信地说它将解决OP的问题。哦哦哦哦哦哦,我想你是其他人