Web Station Download Datei mit Sonderzeichen Fehler 404

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
Hallo Allerseits!

Nach dem Speichern einer Datei, mit einem URL-codierten Namen z.B. "Dre%DFler-Ludwig-274.pdf" erhalte ich beim Zugriff über die Web Station einen http 404, not found.
Die URL wird auch im Browser korrekt angezeigt: http://nas/pdf/Dre%DFler-Ludwig-274.pdf

In der Filestation kann ich die Datei sehen und auch öffnen. Dateien ohne Sonderzeichen funktionieren auch über die Web Station einwandfrei.

Woran kann das liegen? :unsure:

Besten Dank im Voraus und schönes Wochenende noch!
Maurice
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
8.589
Punkte für Reaktionen
1.434
Punkte
288
Funktioniert denn
Nach dem Speichern einer Datei, mit einem URL-codierten Namen z.B. "Dre%DFler-Ludwig-274.pdf" erhalte ich beim Zugriff über die Web Station einen http 404, not found.
Die Datei mit URL-Codiertem Namen zu speichern ist der Fehler.

Die URL wird auch im Browser korrekt angezeigt: http://nas/pdf/Dre%DFler-Ludwig-274.pdf
Dass da der 404er kommt ist ja klar. Die URL müsste bei dem Namen der Datei oben nämlich http://nas/pdf/Dre%DFler-Ludwig-274.pdf lauten.
 

Synology_Stan

Benutzer
Mitglied seit
27. Okt 2020
Beiträge
13
Punkte für Reaktionen
1
Punkte
9

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
Danke! Ja, die Datei heißt auch so und die URL natürlich auch:

Zwischenablage01.jpg

Und die Link lautet auf der Seite:


Zwischenablage02.jpg

Dies, weil es auch generierte Dateinamen mit Sonderzeichen gibt, die codiert werden müssen.

danke für die Hilfe!
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
8.589
Punkte für Reaktionen
1.434
Punkte
288
Du hast hier den gleichen Link wie oben genommen. Kannst du das vllt erläutern?
Nein, schaue dir die URL mal an.
Dies, weil es auch generierte Dateinamen mit Sonderzeichen gibt, die codiert werden müssen.
Du musst aber die URL codieren und nicht den Dateinamen. Bei deinem Dateinamen (Dre%DFler-Ludwig-274.pdf) muss das Prozentzeichen codiert werden -> in der URL heißt das dann Dre%25DFler-Ludwig-274.pdf
 

Wollfuchs

Benutzer
Sehr erfahren
Mitglied seit
06. Sep 2020
Beiträge
1.143
Punkte für Reaktionen
261
Punkte
159
ist sie nicht ... die sieht nur so aus.

hxxp://nas/pdf/Dre%25DFler-Ludwig-274.pdf

fahr mal mitte maus am druebe,r auffen links ding am tuen gemachen getan...
 

Synology_Stan

Benutzer
Mitglied seit
27. Okt 2020
Beiträge
13
Punkte für Reaktionen
1
Punkte
9
Ok mit der mittleren Maustaste, ist ja Tatsache noch eine 25 dabei.
Vielen Dank für die Erklärung!
 

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
Klasse, danke!

Zum url-codierten Dateinamen codiere ich die URL zur Datei nun doppelt.

Aus Dreßler-Ludwig-274.pdf wird Dre%DFler-Ludwig-274.pdf wird Dre%25DFler-Ludwig-274.pdf

Nochmals danke für den Tipp.
Schönen Sonntag!
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
8.589
Punkte für Reaktionen
1.434
Punkte
288
Bei dem, der die Datei lädt, kommt aber keine Dreßler-Ludwig-274.pdf , sondern eine Dre%DFler-Ludwig-274.pdf an. Schon den Dateinamen zu kodieren ist unnötig.
 

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
Nein. Die Datei wird ja im Browser geladen und der Datei-Name ist dabei egal.
Die Dateien werden von einem Service erzeugt und per FTP auf die Disk Station übertragen.
Bereits Umlaute machen bei FTP oft Probleme, wenn der Zeichensatz nicht ausgehandelt werden kann,
Dann können Dateinamen auch Sonderzeichen wie "/" und "\" enthalten, was eine kodierte Speicherung unumgänglich macht.

Synology/NAS/DS-1515.pdf ist als Dateiname nicht gültig ( / ist hier kein Verzeichnis-Symbol)
Synology%2FNAS%2FDS-1515.pdf ist es schon.

Auch Bigamiluschvatokovtschvili, Gotthilf "Gobi".pdf kann nicht als Dateiname herhalten, was das Kodieren zu
Bigamiluschvatokovtschvili,%20Gotthilf%20%22Gobi%22.pdf nötig macht.
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
8.589
Punkte für Reaktionen
1.434
Punkte
288
Dateinamen können auf den meisten Systemen eben keine \/" enthalten. Da hilft es nicht, URL-Encode drüber laufen zu lassen. Du benennst da die Dateien lediglich um und wenn du die schon umbenennst, geht das auch sinnvoller: " -> '; (Back)Slashes -> Binde-, Unterstriche oder Leerzeichen, Leerzeichen müssen nicht ersetzt werden.
Bereits Umlaute machen bei FTP oft Probleme, wenn der Zeichensatz nicht ausgehandelt werden kann,
Das Problem kann man nicht mit einer URL-Kodierung lösen.
 

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
danke, doch, das geht.

Da ich nicht weiß, welche Zeichen in den Dateinamen vorkommen können (hier sind dem Anwender keine Grenzen gesetzt), ist URL Encode perfekt und funktioniert einwandfrei.

Ich habe es nun mit mehreren hundert Dateinamen getestet. Tip-Top.

Alle Zeichen können so verarbeitet werden, selbst

'\ Hey Synology / :-),.pdf'

funktioniert erwartungsgemäß.
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
8.589
Punkte für Reaktionen
1.434
Punkte
288
'\ Hey Synology / :-),.pdf' ist dann aber nicht der Dateiname, über dem die Datei im Dateisystem erreichbar ist, was durchaus Verwirrung stiften könnte. Außerdem weiß ich nicht, ob es klug ist, auf diese Weise den User vor Fehlermeldungen über unzulässige Zeichen im Dateinamen zu schützen. Und das Ganze nur, um Probleme mit Zeichenkodierungen beim FTP-Upload zu umgehen.
 

MauriceG

Benutzer
Mitglied seit
31. Okt 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
7
nein, '\ Hey Synology / :-),.pdf' ist nicht der Dateiname, der gespeichert wird.
Dieser wird ja codiert und das ist der Sinn der Sache.

Es sind, wie gesagt, keine Anwender, die die Dateien auf der Synology speichern.
Die PDF-Dateien werden regelmäßig von einem Dienst automatisiert erstellt, per FTP übertragen und können dann über eine Webseite über die Web Station abgerufen werden. Eigentlich eine einfache Sache und niemand wird verwirrt.
Die PDF-Dateien werden nur abgerufen, um diese bei Bedarf auszudrucken. Es geht hier nicht um File-Sharing u.ä.
Der Dateiname spielt also für den Anwender keinerlei Rolle.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat