


Wie behebe ich den Fehler „Keine mehrteilige Grenze' beim Hochladen von Ajax XMLHttpRequest-Dateien?
Dateien mit Ajax XMLHttpRequest hochladen: Fehler „No Multipart Boundary“ beheben
Beim Versuch, Dateien mit XMLHttpRequest hochzuladen, kann es vorkommen, dass das Problem auftritt Fehler „Die Anfrage wurde abgelehnt, da keine mehrteilige Grenze gefunden wurde“. Um dieses Problem zu beheben, untersuchen wir den bereitgestellten Code und identifizieren die möglichen Ursachen.
Der folgende Codeausschnitt soll eine Datei mit XMLHttpRequest hochladen:
<code class="javascript">var url = "http://localhost:80/..."; $(document).ready(function(){ document.getElementById('upload').addEventListener('change', function(e) { var file = this.files[0]; var xhr = new XMLHttpRequest(); // xhr.file = file; // not necessary if you create scopes like this xhr.addEventListener('progress', function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; console.log('xhr progress: ' + (Math.floor(done/total*1000)/10) + '%'); }, false); if ( xhr.upload ) { xhr.upload.onprogress = function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; console.log('xhr.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%'); }; } xhr.onreadystatechange = function(e) { if ( 4 == this.readyState ) { console.log(['xhr upload complete', e]); } }; xhr.open('post', url, true); xhr.setRequestHeader("Content-Type", "multipart/form-data"); xhr.send(file); }, false); });</code>
Um den oben genannten Fehler zu beheben , müssen zwei wichtige Punkte angesprochen werden:
- Die Zeile xhr.file = file; ist überflüssig und unnötig. Es ist nicht erforderlich, das Dateiobjekt auf diese Weise anzuhängen.
- Das eigentliche Problem liegt in der Zeile xhr.send(file). Um die Datei korrekt hochzuladen, muss sie in ein FormData-Objekt eingeschlossen werden, das sie in ein Multipart/Form-Data-POST-Datenobjekt formatiert. Der aktualisierte Code sollte wie folgt aussehen:
<code class="javascript">... var formData = new FormData(); formData.append("thefile", file); xhr.send(formData); ...</code>
Durch das Erstellen eines FormData-Objekts und das Anhängen der Datei stellen Sie sicher, dass die Daten korrekt strukturiert und für die Verarbeitung auf dem Server bereit sind. Auf die Datei kann nun in $_FILES['thefile'] zugegriffen werden (wenn Sie PHP auf der Serverseite verwenden), sodass Sie sie ordnungsgemäß verarbeiten können.
Bezugnahme auf Dokumentationsressourcen wie MDC- und Mozilla-Demos kann bei solchen Problemen wertvolle Hinweise geben.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Keine mehrteilige Grenze' beim Hochladen von Ajax XMLHttpRequest-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
