JavaScript Datei auslesen was mache ich falsch?

1 Antwort

Das geht nicht.

Irgendwie verwechselst Du da was...

Du verwendest ein Sprachelement aus Node.js in einer HTML-Datei im Browser.

Das JavaScript, welches im Browser verwendet wird, hat mit Node.js , JScript, JS.Net oder HTA nur einen großen Teil der Funktionalität gemein. Das im Browser ausführbare Javascript dient jedoch der dynamischen Steuerung von HTML und unterliegt den Sicherheitsbestimmungen für Browser:

Der Zugriff auf dass Dateisystem ist nicht gestattet. Da dies betreffende Funktionen mit den Sicherheitsanforderungen kollidieren würden, werden sie garnicht erst implementiert.

Node.js & Co verwenden JavaScript im Server-/Backendbereich oder als Compiler für Desktopprogramme. In diesem Bereich sind Dateisystemzugriffe wie in jeder andere Programmierersprache möglich.

Eine Ausnahme bildet HTA . Diese ist rur noch aus Kompatibilität im Windowssystem und erlaubte das Erstellen von GUI-Programmen mit HTML/VBS/JavaScript. (Das war die einzige offizielle Möglichkeit HTML mit Zugriff auf das Dateisystem zu verwenden.)

Lenzer66u 
Fragesteller
 15.12.2022, 08:26

ok das hab ich nach googlen auch gerade rausbekommen aber wie mache ich es denn richtig? Ich habe eine Variante eine .txt Datei auszulesen mit in HTML input type file. Aber ich will kein Auswahlfenster ich will gleich den ganzen Pfad angeben nur für eine Datei aber wie?

0
Erzesel  15.12.2022, 09:28
@Lenzer66u

Das automatische öffnen einer Datei geht nicht.

Das "input type="file""-Formular ist eine Möglichkeit um einem Nutzer die bewusste Entscheidung zu überlassen , ob und welche Datei er an einen Server überträgt.

Dies beinhaltet jedoch nicht. das automatische clientseitige Öffnen Lesen des Inhalts der gewählten Datei. Die ausgewählte Datei wird vom Browser per "submit" an den Server gesendet, (soweit dieser für den Empfang von Dateien eingerichtet ist.) . Was dort auch immer mit der Datei geschieht, Clientseitig ist der Explizite Wunsch des Nutzers nötig, um eine Datei zu senden!

Eine andere Sache ist ein XMLHttpRequest. Dieser bietet die Möglichkeit auf Dateien zu laden, welche auf einem Sever gespeichert sind und diese in einer Webseite Clientseitig zu verarbeiten.

Wenn Du Clientseitig irgendwelche, in der Webseite ermittelten Daten speichern/laden möchtest, kannst Du neben den guten alten Cookies auch local Storage nutzen.

...wenn Du dich gewundert haben solltest, weshalb du auf "GuteFrage" etwas ins Editorfenster schreiben kannst (ohne es abzuschicken) , und nach schließen des Fenster ist beim erneuten öffnen dein angefangener Text immer noch da, so ist das genau "localStorage", welches den eingegebenen Tex speichert und wieder einliest.

1
Lenzer66u 
Fragesteller
 15.12.2022, 09:31
@Erzesel

doch das geht da bin ich mir sicher mein Chef hatte mir gestern kurz seinen Quellcode dazu gezeigt und da war ganz klar zu sehen das er nur den Pfad angegeben hat mit readfile(); usw. aber ich hab leider kein Fotografisches gesächnis und konnte es mir nicht so schnell merken

0
Lenzer66u 
Fragesteller
 15.12.2022, 09:33
@Erzesel

kannst du mir vielleicht ein kleines Code Beispiel zeigen von der Lösung wie du es machen würdest?

0
Erzesel  15.12.2022, 10:41
@Lenzer66u

keine Ahnung was dein Chef da geköchelt hat... jedenfalls kein Html.

möglicherweise ein Node.js-Script für ein Backend auf dem Server?

Bei Node.js muss ich passen. (Ich bin zwar vielseitig und Html/JavaScript ist eine Sprache in meinem Spectrum , aber irgendwo muss ich Grenzen ziehen)

0
Lenzer66u 
Fragesteller
 15.12.2022, 10:53
@Erzesel

ich weiß es leider auch nicht es war eine .js Datei und da war das halt einfach mit Pfad angegeben maximal 8 Zeilen Quellcode und ich verzweifele jetzt seit 4 stunden.

0
Lenzer66u 
Fragesteller
 15.12.2022, 11:03
@Erzesel

also ist das in JavaScript nicht möglich nur mit Node.js?

Ich bin mir aber relativ sicher das es eine normale JavaScript Datei war.

0
Erzesel  15.12.2022, 12:31
@Lenzer66u

Ja. Node.js verwendet .js Dateien. Hat aber trotzdem nichts mit HTML zu tun.

0