Größenbeschränkung für den Upload von ASP.NET Core 2.0 MVC-Dateien

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Größenbeschränkung für den Upload von ASP.NET Core 2.0 MVC-Dateien

by Guest » 21 Dec 2024, 12:39

Ich habe Probleme beim Hochladen großer Dateien in eine ASP.NET Core 2.0 MVC-Webanwendung.
Ich habe Artikel wie diesen gesehen, in denen gezeigt wird, wie man die erhöht Dateigrößenbeschränkung in .NET Core 2.0:
Erhöhen Sie die Längenbeschränkung für Upload-Anfragen in Kestrel
Also habe ich dem Beispiel folgend beide Optionen ausprobiert. Ich habe dies derzeit in meiner Program.cs:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel(options => options.Limits.MaxRequestBodySize = null)
.Build();

Und meine Ajax-Datei-Upload-Methode auf dem Controller sieht so aus:
[HttpPost]
[RequestSizeLimit(1_074_790_400)]
[Route("api/article/uploadfile/{mediaType}")]
public async Task UploadFile(string mediaType)

Ich greife mit Request.Form.Files auf die hochgeladenen Dateien zu
Das Javascript in der Ansicht sieht so aus:
$('#upload-videos').change(function () {
var files = $("#upload-videos").get(0).files;
uploadMedia(false, files);
})

function uploadMedia(isPhoto, files) {
var type;
if (isPhoto) {
type = "i";
}
else {
type = "v";
}

var data = new FormData();
if (files.length > 0) {
for (idx = 0; idx < files.length; idx++) {
data.append("fileImage" + idx, files[idx]);
}

$.ajax({
url: "/api/article/uploadfile/" + type,
type: "POST",
processData: false,
contentType: false,
dataType: false,
data: data,
success: function (jsonData) {
refreshUploadedImages(jsonData, isPhoto);
}
});
}
}

Das Problem ist, dass ich trotz der Änderungen zur Erhöhung des Upload-Limits die Antwort bekomme:

Ressource konnte nicht geladen werden: Der Server antwortete mit dem Status 500 ()

Wenn ich in der ersten Zeile der Controller-Methode einen Haltepunkt gesetzt habe Es trifft nie darauf, es scheint also kein Problem zu sein Code.
Bei kleinen Dateien funktioniert alles einwandfrei, aber wenn ich versuche, eine Datei mit einer Größe von 538.286 KB hochzuladen, schlägt dies fehl.
Kann Hilft jemand dabei?
Update: Für weitere Informationen scheint das Problem aufzutreten, wenn die Größe der Upload-Datei irgendwo zwischen 122.211 KB und 137.840 KB liegt, unabhängig davon RequestSizeLimit-Einstellungen, und es treten ständig Fehler auf.
Update 2: Ich habe gerade alle ASP.NET Core- und alle ASP.NET Core-Nugets aktualisiert Pakete auf 2.1, aber das Problem besteht immer noch.

Top