2016-11-21 10 views
0

Ich habe eine Dropwizard-API-App und ich möchte einen Endpunkt, wo ich den Anruf ausführen und auch hochladen und Bild, diese Bilder in einem Verzeichnis gespeichert und dann über den gleichen Anwendungskontext bedient werden müssen.Dropwizard dienen externe Bilder Verzeichnis

Ist es mit Dropwizard möglich? Ich kann nur statische Vermögenswerte finden.

Antwort

1

Es gibt ähnliche Frage schon: Can DropWizard serve assets from outside the jar file?

Das obige Modul in der third party Module Liste der dropwizard erwähnt wird. Es gibt auch official modules Liste. Diese beiden Listen sind schwer zu finden, weil die Hauptdokumentation sie nicht referenziert.

Es gibt auch dropwizard-file-assets, die neu scheint. Ich weiß nicht, welches Modul für Ihren Fall am besten funktioniert. Beide basieren auf AssetServlet

Wenn Sie sie nicht mögen, könnten Sie es als Beispiel verwenden, wie Sie Ihre eigenen implementieren. Ich vermute, dass der resource caching Teil nicht für Ihren Anwendungsfall sinnvoll sein kann, wenn jemand den gleichen Ressourcennamen mit neuen Inhalten ersetzen: https://github.com/dirkraft/dropwizard-file-assets/blob/master/src/main/java/com/github/dirkraft/dropwizard/fileassets/FileAssetServlet.java#L129-L141

Edit: Diese simple project ist, dass ich mit dropwizard-configurable-assets-bundle gemacht. Folgen Sie den Anweisungen in der README.md. Ich denke, es macht genau das, was Sie wollen: Legen Sie einige Dateien in ein Verzeichnis irgendwo im Dateisystem (außerhalb des Projektquellcodes) und bedienen Sie sie, wenn sie existieren.

+0

Vielen Dank, ich habe diese Posts schon gesehen, aber es geht um statische Dateien, nicht um dynamische Dateien. Ich habe es schnell ohne Glück versucht. Ich werde die anderen auch versuchen, aber ich glaube nicht, dass sie tun werden, was ich will. Ich werde wahrscheinlich am Ende die Bilder von einem klassischen Apache ... – Panos

+0

@Panos Ich habe ein einfaches Projekt gemacht. IMO es tut, was Sie erreichen wollen. Schau mal. – zloster

+0

Nach einigen Versuchen hat es funktioniert !!! Vielen Dank – Panos