Seite 1 von 1

Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 08:40
von Fran(z)cisco
Hallo,

gibt es in Flask die Möglichkeit URL für locale FIles file:/// zu "verarbeiten" …

Datei: test3.html
<html>
<head>
</head>
<body>
<script>document.location ='file:///C:/Python/Beispiele/A5B37238.xml'</script>
<!--script>document.location ='http://www.spiegel.de'</script-->
</body>
</html

Wenn ich diese html-Datei über Flask aufrufe, bleibt die Seite mit der document.location file:// leer,
die document.location http:// funktioniert dagegen.

Irgendwie scheint Flask die URL file:// zu ignorieren.
Gibt es in Flask eine Möglichkeit die URL file:// zu aktivieren ???


Mit freundlichen Grüßen,
Mühlbauer Franz

Re: Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 09:10
von Sirius3
Das hat nichts mit Flask zu tun, sondern mit Deinem Browser, der es einfach nicht zuläßt, dass fremde Seiten beliebige Dateien auf Deinem Computer zu lesen.

Re: Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 10:39
von Fran(z)cisco
Hallo Sirius,
danke für die Antwort ..

Aber wenn ich die URL direkt im Browser eingebe, wird sie angezeigt …
file:///C:/Python/Beispiele/A5B37238.xml

Mit Edge, IE, Chrome und Firefox getestet ...

???

Gruß,
Fran(z)cisco

Re: Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 11:00
von __deets__
Natuerlich, weil DU als BENUTZER dann diese Entscheidung getroffen hast.

Wenn ich dich auf meine Webseite locke, und dann einfach wild Dateien von deiner Festplatte runterlade, weil ich bekannte Pfade in Tags in meiner Seite reinschreibe, dann findest du das sicher auch nicht so doll. Darum geht das nicht.

Re: Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 11:50
von __deets__
Noch ein Nachtrag: wenn dein HTML von Flask ausgeliefert wird, dann besteht die Loesung fuer dein Problem darin, auch die Datei, die du referenzieren willst, per Flask auszuliefern. Also einfach eine Route anzulegen, und die liest dann eben deine Datei ein, und gibt sie zurueck.

Da steht dann im HTML

<script>document.location ='/superduperscript'</script>

und diese Route muss Flask kennen und ausliefern.

Re: Flask und URL file:///

Verfasst: Dienstag 11. September 2018, 15:42
von Fran(z)cisco
Hallo __deets__ ,

du hast recht … mit der file:/// bin ich "auf der Leitung" gestanden …
Funktioniert natürlich nur local bei mir am Laptop, da 1) Rechte gegeben und 2) Server und Client auf localhost laufen …

Gebe die XML jetzt mit Hilfe von …

send_file(_fzg_auftrag_file, mimetype="text/xml", as_attachment=False)

… in einem neuen Browser-Fenster aus

Gruß,
Fran(z)cisco