Heim >Web-Frontend >js-Tutorial >Wie behebe ich den Fehler „Anfrage abgelehnt: Keine mehrteilige Grenze' beim Hochladen einer XMLHttpRequest-Datei?

Wie behebe ich den Fehler „Anfrage abgelehnt: Keine mehrteilige Grenze' beim Hochladen einer XMLHttpRequest-Datei?

Barbara Streisand
Barbara StreisandOriginal
2024-10-18 16:42:30889Durchsuche

How to Resolve

XMLHttpRequest-Datei-Upload mit MultipartFormData

Beim Versuch, eine Datei mit XMLHttpRequest hochzuladen, kann die folgende Fehlermeldung auftreten: „Die Anfrage wurde abgelehnt weil keine mehrteilige Grenze gefunden wurde. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

1. Entfernen Sie die benutzerdefinierte xhr.file-Eigenschaft

Entfernen Sie die Zeile xhr.file = file; da es nicht für mehrteilige Datei-Uploads verwendet wird.

2. Verwenden Sie das FormData-Objekt

Anstelle von xhr.send(file); verwenden Sie FormData, um die Datei in ein Multipart/Form-Data-Post-Datenobjekt zu verpacken:

<code class="javascript">var formData = new FormData();
formData.append("thefile", file);
xhr.send(formData);</code>

3. Greifen Sie auf die Datei auf dem Server zu

Nach dem Senden der FormData können Sie auf die Datei in $_FILES['thefile'] zugreifen (vorausgesetzt, PHP wird auf dem Server verwendet).

Zusätzliche Hinweise:

  • Verwenden Sie MDC- und Mozilla-Hack-Demos als Ressourcen für Datei-Uploads.
  • Der ursprüngliche Codeversuch hat die Datei als rohe Postdaten gesendet, was manuell erforderlich ist Parsen auf dem Server (nicht immer möglich).

Wenn Sie diese Schritte befolgen, sollten Sie in der Lage sein, Dateien mit Ajax XMLHttpRequest mit der richtigen Multipart-/Formulardatengrenze erfolgreich hochzuladen.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Anfrage abgelehnt: Keine mehrteilige Grenze' beim Hochladen einer XMLHttpRequest-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn