0Pricing
React Academy · Lektion

Dateieingabe und Dateidaten auslesen

Verarbeiten Sie , lesen Sie Dateimetadaten aus und zeigen Sie Bilder mit FileReader in einer Vorschau an.

Dateieingabe und Dateidaten auslesen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion verarbeiten Sie Dateieingaben in React, lesen Dateimetadaten aus, zeigen eine Vorschau ausgewählter Bilder an und verwenden die FileReader-API, um Dateiinhalte zu verarbeiten.

Das Dateieingabeelement

Das Element `` kann von React nicht über seine value-Prop kontrolliert werden — es ist immer unkontrolliert. Lesen Sie die ausgewählte Datei im onChange-Handler aus `e.target.files[0]` aus.
function FileInput() {
  const handleChange = (e) => {
    const file = e.target.files[0];
    console.log(file.name, file.size, file.type);
  };
  return <input type="file" onChange={handleChange} />;
}

Eigenschaften des File-Objekts

Ein File-Objekt erweitert Blob und enthält: `name` (Dateiname), `size` (Bytes), `type` (MIME-Typ wie 'image/png') und `lastModified` (Zeitstempel). Lesen Sie diese Eigenschaften vor dem Hochladen oder Verarbeiten aus.

Bestimmte Dateitypen akzeptieren

Verwenden Sie das `accept`-Attribut, um dem Browser einen Hinweis darauf zu geben, welche Dateitypen angezeigt werden sollen. Kombinieren Sie MIME-Typen und Dateierweiterungen. Validieren Sie die Dateien zusätzlich immer serverseitig.
<input type="file" accept="image/png,image/jpeg,.pdf" />

Mehrere Dateien auswählen

Fügen Sie das `multiple`-Attribut hinzu, damit mehrere Dateien ausgewählt werden können. `e.target.files` gibt eine FileList zurück. Wandeln Sie sie mit `Array.from()` in ein Array um, um Array-Methoden zu verwenden.
<input type="file" multiple />

const files = Array.from(e.target.files);

Eine Bildvorschau mit URL.createObjectURL anzeigen

Erstellen Sie mit `URL.createObjectURL(file)` eine temporäre Vorschau-URL für eine ausgewählte Bilddatei. Denken Sie daran, sie anschließend mit `URL.revokeObjectURL` freizugeben, um Speicher freizugeben.
const [preview, setPreview] = useState(null);

const handleChange = (e) => {
  const file = e.target.files[0];
  if (file) setPreview(URL.createObjectURL(file));
};

useEffect(() => {
  return () => { if (preview) URL.revokeObjectURL(preview); };
}, [preview]);

{preview && <img src={preview} alt="Preview" />}

Dateiinhalte mit FileReader auslesen

Verwenden Sie die `FileReader`-API, um den Inhalt einer Datei als Text oder Data-URL auszulesen. Rufen Sie für Textdateien `reader.readAsText(file)` oder für Binärdateien wie Bilder `reader.readAsDataURL(file)` auf.
const reader = new FileReader();
reader.onload = (e) => setContent(e.target.result);
reader.readAsText(file);

Dateigröße validieren

Validieren Sie die Dateigröße clientseitig, bevor Sie die Datei hochladen. Lehnen Sie Dateien ab, die größer als ein festgelegter Grenzwert sind, und zeigen Sie eine Fehlermeldung an.
const MAX_SIZE = 5 * 1024 * 1024; // 5 MB
if (file.size > MAX_SIZE) {
  setError('File must be under 5 MB');
  return;
}

Die Dateieingabe leeren

Sie können eine Dateieingabe nicht durch das Setzen ihres Werts leeren, da dieser schreibgeschützt ist. Setzen Sie sie stattdessen imperativ über einen Ref zurück oder ändern Sie die `key`-Prop des Eingabefelds, damit es erneut gemountet wird.
const inputRef = useRef();
const clear = () => { inputRef.current.value = ''; };
<input ref={inputRef} type="file" />

Dateireferenzen im Zustand speichern

Speichern Sie das File-Objekt selbst im Zustand, nicht nur den Namen oder die URL. Dadurch können Sie die Datei später hochladen, ohne sie erneut aus dem DOM auslesen zu müssen.
const [file, setFile] = useState(null);
const handleChange = (e) => setFile(e.target.files[0] || null);

Kurzer Test

Welche Methode erstellt eine temporäre URL, um eine ausgewählte Bilddatei im Browser in der Vorschau anzuzeigen?

Zusammenfassung

Lesen Sie ausgewählte Dateien aus e.target.files aus. Verwenden Sie URL.createObjectURL für Vorschauen und FileReader zum Auslesen von Inhalten, validieren Sie die Größe clientseitig und speichern Sie das File-Objekt für den späteren Upload im Zustand.

Als Nächstes

Nächste Lektion: **Benutzeroberfläche für Datei-Upload per Drag-and-drop** — Sie werden mit React-Events eine Drag-and-drop-Zone mit visueller Rückmeldung erstellen.

Häufig gestellte Fragen

Ist die Lektion „Dateieingabe und Dateidaten auslesen“ kostenlos?

Ja — der vollständige Text von „Dateieingabe und Dateidaten auslesen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Dateieingabe und Dateidaten auslesen“?

Verarbeiten Sie , lesen Sie Dateimetadaten aus und zeigen Sie Bilder mit FileReader in einer Vorschau an. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Dateieingabe und Dateidaten auslesen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Unkontrollierte Eingaben mit useRef
  2. Dateieingabe und Dateidaten auslesen
  3. Benutzeroberfläche für Drag-and-drop-Datei-Uploads
  4. Dateien an eine Backend-API hochladen
← Zurück zu React Academy