#1
|
|||
|
|||
Bilddateien in Paketen automatisch umbenennen
Ich kriege dieses Thema irgendwie einfach nicht in den Griff.
In meinem Fall geht es um Bilder, nicht um Archive (per Copy/Paste aus Webseiten). Mein einziges Ziel ist, dass die Dateien nach dem Download nicht die selben Namen haben bzw. überschrieben werden, das kann doch nicht so schwer sein? Über den Paketverwalter kriege ich es nicht hin, dass sie schon mit unterschiedlichen Namen einlaufen bzw. beim Einlaufen umbenannt werden, siehe Anhang. Habe schon alles versucht. Weiterhin frage ich mich, wieso die Funktion "Allgemein/Downloadverwaltung/Wenn die Datei schon vorhanden ist: Automatisch umbenennen" nicht greift. Beispiel: Ich lade ein Paket mit drei gleichnamigen jpgs herunter, am Ende habe ich eins, was offenbar 2x überschrieben wurde. Warum? |
#2
|
||||
|
||||
Ich tippe eher drauf das JDownloader die 3 Dateien als Mirror erkennt und daher nur eine Datei herunterlädt. Dies sollte auch in der GUI im Status zu sehen sein.
Du kannst hierfür zb mal Einstellungen-Profieinstellungen-GeneralSettings.forcemirrordetectionfilesizecheck aktivieren und dann erzwingst du die Prüfung der Dateigröße für die Mirrorauswahl. Alternativ kannst du auch einfach mit dem Packagizer eine Regel erstellen und zb einfach: -Zeitstempel -Index -evtl die QuellURL anhängen an den Dateinamen. Wenn du mir konkrete BspLinks schickst /zb an support@jdownloader.org kann ich auch konkrete Hilfe anbieten.
__________________
JD-Dev & Server-Admin |
#3
|
|||
|
|||
Automatisch umbenennen, wenn die Datei schon vorhanden ist, fehlerhaft
Ich hänge mich mal hier dran.
In meiner Downloadverwaltung ist "Wenn die Datei schon vorhanden ist" auf "Automatisch umbenennen" eingestellt. Das funktioniert auch bei Bildern von eBay: https://i.ebayimg.com/images/g/v1wAA...9F/s-l1600.jpg https://i.ebayimg.com/images/g/U58AA...9E/s-l1600.jpg Das funktioniert aber nicht bei den folgenden Bildern, deren URLs vor dem Fragezeichen identisch sind: **External links are only visible to Support Staff****External links are only visible to Support Staff** **External links are only visible to Support Staff****External links are only visible to Support Staff** Der erste Download wird als img.png "Fertiggestellt", der zweite mit "Fertig (Mirror)" übersprungen. Erwartetes Verhalten: Download des zweiten Bildes als img_2.png. |
#4
|
||||
|
||||
@-5-
Über die Mirrorerkennung in der Default-Einstellung lässt sich sicher streiten, aber fakt ist, dass JD in deinem zweiten Fall vor dem Downloadstart nur sehr wenige Informationen hat und JD somit nach der default Logik meiner Meinung nach korrekt handelt: 1. Dateigröße: Der Server gibt vor dem Download keine Dateigröße zurück. 2. Dateiname: Es wird vor dem Download kein Dateiname über den Content-Disposition Header zurückgegeben daher nimmt JD den "Titel" aus der URL [letztes Pfadsegment] also "img.php" und korrigiert die Dateiendung, da der Dateityp klar ist --> finaler Dateiname: "img.png". Nun sieht JD zwei Links, die scheinbar zu derselben Datei führen. Ziel der Mirrorerkennung ist ja u.a., Mirrors vor dem Download zu erkennen und genau dies scheitert hier. Mögliche Wege, dies zu verhindern sind:
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 06.06.2023 at 02:01. Reason: Tippfehler fixed |
#5
|
|||
|
|||
Ich möchte Weg 2 gehen, finde bei den dynamischen Variablen aber keine URL. Und wenn ich sie fände, wüsste ich nicht, wie ich den Teilstring nach "image=" extrahiere. Ich habe als dynamische Variablen
filename=img.png und filetype=png die bei beiden Bildern aber gleich sind. Die anderen dynamischen Variablen sind sowieso identisch. |
#6
|
||||
|
||||
Es gibt keine vorgegebenen dynamischen Variablen, weil...sie sind ja dynamisch
Was du tun musst ist, einen regulären Ausdruck zu bauen, der den Teil hinter "image=" holt und diesen dann als Dateiname verwenden. Das Ergebnis des regulären Ausdruck wird dann zu einer dynamischen Variable, die du weiter unten als Dateiname setzen kannst. Dies ginge z.B. so: Screenshot: Sobald du den regulären Ausdruck eingegeben hast, bekommst du im Rechtsklickmenü bei "Dateiname" -> Dynamische Variablen folgendes angezeigt: Hoster Url Wildcard (*) #1 -> Beim Anklicken wird dies aufgelöst zu "<jd:hoster:1>". --> Funktioniert ähnlich wie folgendes Beispiel nur ich habe mich für einen regulären Ausdrück anstatt einer Wildcard (*) entschieden: https://support.jdownloader.org/Know...-via-anchor/20
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 06.06.2023 at 02:34. Reason: Weitere Infos ergänzt |
#7
|
|||
|
|||
Danke! Das hat auf Anhieb funktioniert.
|
#8
|
||||
|
||||
Gerne und gute Nacht
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
Thread Tools | |
Display Modes | |
|
|