gpt4 book ai didi

c# - 应用程序部署到实时服务器时出现 500 内部服务器错误

转载 作者:行者123 更新时间:2023-12-03 12:35:26 25 4
gpt4 key购买 nike

我的 ASP.Net Web 应用程序在其中一个页面上有一个简单的 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;
}

我的 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>

最佳答案

查看服务器设置后,我发现写入权限已被禁用。启用 AJAX 上传后即可按预期工作。

关于c# - 应用程序部署到实时服务器时出现 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com