Ich benutze LiipImagineBundle, um ein gefiltertes Bild von einem hochgeladenen Bild zu erstellen. Die aktuelle Konfiguration des Bündels ist:Original und gefiltertes Bild im selben Ordner speichern - LiipImagineBundle
liip_imagine:
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
my_filter:
filters:
relative_resize: { heighten: 66 }
Mein Ziel ist es, eine Verzeichnisstruktur wie zu erstellen:
web_root\{subdirectory}\{type}_{filename_md5_hash}.jpeg
Der Typ ist entweder s
für kleines Bild oder o
für Originalgröße. Das Unterverzeichnis wird ab dem Uploaddatum erstellt.
Das Problem ist, dass LiipImagineBundle die gefilterten Bilder in web_root\my_filter\{subdirecory}\{type}_{filename_md5_hash}.jpeg
speichert.
Wie kann ich den my_filter
Teil der URL weglassen? Ich brauche jedes hochgeladene Bild und dessen Filterung, um im selben endgültigen Ordner gespeichert zu werden.
Ich bin kein Experte und ich habe eine Menge Forschung vergebens. Die Konfiguration erlaubt es, den Web-Pfad des Caches entweder für die gesamten Filter oder für einzelne Filter zu ändern, aber der Filtername erscheint immer in der letzten URL.
Ihre Hilfe wird sehr geschätzt.
Da Sie mit dieser Lösung überhaupt keinen Cache verwenden, können auf lange Sicht Leistungsprobleme auftreten. Und ich sehe nicht, warum Sie die Datei in Ihrem Unterverzeichnis speichern, da Sie die gefilterte Datei immer zur Laufzeit erzeugen und niemals die gecachte Datei verwenden. Aber abgesehen davon stimme ich zu, dass das funktioniert. Das ist weniger optimal und sauber als das, was ich vorgeschlagen habe, aber es macht den Job. – Terenoth
@Terenoth, danke für Ihre Zeit, Sir. Ich verstehe nicht, warum "ich auf lange Sicht Leistungsprobleme habe". Ich erzeuge keine gefilterte Datei zur Laufzeit. Was ich mache, ist ein gefiltertes Bild während des Hochladens der Datei (innerhalb von uploadAction im Controller). Ich "cache" es dann in einem anderen Ordner als den Standardordner von liipImagineBundle. Ihre Erklärungen werden sehr geschätzt. –
Oh, ich dachte, dein Code wäre eine Display-Aktion, keine Upload-Aktion, mein Fehler. In diesem Fall keine Leistungsprobleme. Ich denke, das einzige Argument, das man machen kann, ist, dass man LiipImagineBundle eigentlich nicht braucht, sondern nur sich selbst vorstellt, da man die Cache- und Filterfunktionen von LiipImagine nicht wirklich nutzt. Sie könnten einfach die hochgeladene Binärdatei erhalten, Imagine-Funktionen darauf anwenden und dann Ihre neue Datei speichern, ohne auch nur 'liip_imagine.data.manager' und' liip_imagine.filter.manager' aufzurufen. Aber solange die Dinge funktionieren, ist es gut zu gehen :) – Terenoth