Interface ImageService

All Known Implementing Classes:
RestImageService

public interface ImageService
Service für die Bildverwaltung am Letto-Server
Der Dateiname der Bilder ergibt sich aus der Prüfsumme der Datei bei normalen Bildern oder aus der Prüfsumme eines Identifikationsstrings bei Plugin-Bildern.
  • Method Details

    • checkFilesystem

      String checkFilesystem()
      Prüft ob das Service korrekt Daten im Filesystem speichern kann und gibt eine Fehlermeldung zurück wenn etwas nicht funktioniert oder einen Leerstring wenn Dateien korrekt gespeichert und gelesen werden können.
      Returns:
      Fehlermeldung oder Leerstring
    • checkService

      String checkService()
      Prüft die Funktionalität des Services und gibt eine Fehlermeldung zurück wenn etwas nicht funktioniert oder einen Leerstring wenn der Cache problemlos funktioniert.
      Returns:
      Fehlermeldung oder Leerstring
    • existImage

      boolean existImage(String filename)
      Prüft ob ein Bild mit dem angegebenen Dateinamen schon existiert
      Parameters:
      filename - Dateiname
      Returns:
      true wenn der Dateiname existiert
    • getImageAge

      long getImageAge(String filename)
      Liefert das Alter eines Bildes in Millisekunden
      Parameters:
      filename - Dateiname
      Returns:
      Alter des Bildes in Millisekunden, -1 wenn das Bild nicht existiert, -2 wenn der filename ungültig ist
    • getImageSize

      long getImageSize(String filename)
      Liefert die Größe eines Bildes in Byte
      Parameters:
      filename - Dateiname
      Returns:
      Größe des Bildes, -1 wenn das Bild nicht existiert, -2 wenn der filename ungültig ist
    • delImage

      boolean delImage(String filename)
      Löscht das Bild von der Festplatte
      Parameters:
      filename - Dateiname
      Returns:
      true wenn das Bild gelöscht werden konnte
    • getURL

      String getURL(String filename)
      Liefert die URL, mit der auf die Datei zugegriffen werden kann.
      Parameters:
      filename - Dateiname
      Returns:
      URL mit der auf die Datei zugegriffen werden kann, Leerstring wenn der filename nicht vorhanden ist
    • getAbsURL

      String getAbsURL(String filename)
      Liefert die URL, mit der auf die Datei zugegriffen werden kann.
      Parameters:
      filename - Dateiname
      Returns:
      URL mit der auf die Datei zugegriffen werden kann, Leerstring wenn der filename nicht vorhanden ist
    • createFile

      boolean createFile(String filename)
      Erzeugt eine Datei mit dem angegebenen Dateinamen mit einer Dateigröße von null
      Parameters:
      filename - Dateiname
      Returns:
      true wenn die Datei erzeugt werden konnte
    • isFilenameOK

      boolean isFilenameOK(String filename)
      prüft ob ein Dateiname den Bedingungen für die Dateinamen entspricht
      Parameters:
      filename - Dateiname
      Returns:
      true wenn der Dateiname gültig ist
    • getExtension

      String getExtension(String filename)
      Liefert die Extension eines Dateinamens
      Parameters:
      filename - Dateiname
      Returns:
      Extension
    • saveImage

      String saveImage(ImageBase64Dto imageBase64Dto)
      Speichert eine Base-64-kodierte Datei und sein zugehörigen Bild-Informationen
      Parameters:
      imageBase64Dto - Bild und Bild-Informationen
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • saveImage

      String saveImage(String base64File, String filename)
      Speichert eine Base-64-kodierte Datei
      Parameters:
      base64File - Dateiinhalt
      filename - Dateiname
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • saveImage

      String saveImage(BufferedImage image, String filename)
      Speichert eine mit der AWT erzeugte Datei
      Parameters:
      image - Dateiinhalt
      filename - Dateiname unter dem die Datei gespeichert wird
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • saveByteArrayImage

      String saveByteArrayImage(byte[] byteArray, String extension)
      Speichert eine als Byte-Array vorliegende Datei
      Parameters:
      byteArray - Dateiinhalt
      extension - Extension der Datei für den Dateityp
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveBase64Image

      String saveBase64Image(String base64encodedString, String extension)
      Speichert eine Base-64-kodierte Datei
      Parameters:
      base64encodedString - Dateiinhalt
      extension - Extension der Datei für den Dateityp
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveURLImage

      String saveURLImage(String webPath)
      Lädt eine Datei von einer URL und speichert sie im Image-Service unter der md5-Summe der Datei ab
      Parameters:
      webPath - URI der Datei welche gespeichert werden soll
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveLocalImage

      String saveLocalImage(File file)
      Speichert eine lokale Datei im Image-Service
      Parameters:
      file - Datei
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • loadImageBase64

      String loadImageBase64(String filename)
      Lädt eine Datei als Base64 Codierte Datei aus dem Filesystem in eine Base64-codierten String
      Parameters:
      filename - Dateiname der Datei die geladen werden soll
      Returns:
      Base64-codierter String des Dateiinhaltes
    • loadImageBase64Dto

      ImageBase64Dto loadImageBase64Dto(String filename)
      Lädt eine Datei als Base64 Codierte Datei aus dem Filesystem in eine Base64-codierten String
      Parameters:
      filename - Dateiname der Datei die geladen werden soll
      Returns:
      Base64-codierter String des Dateiinhaltes
    • getImages

      Vector<String> getImages()
      Liefert eine Liste aller Dateien, die im Image Cache gespeichert sind
      Returns:
      Liste aller Dateinamen
    • delImages

      Vector<String> delImages(Vector<String> images)
      Löscht alle Dateien welche im Vektor angegeben sind
      Parameters:
      images - Liste aller Dateinamen die gelöscht werden sollen
      Returns:
      Liste der gelöschten Dateinamen
    • getImagesOlderThan

      Vector<String> getImagesOlderThan(long age)
      Liefert eine Liste aller Dateinamen der Dateien die älter als age ms sind
      Parameters:
      age - Alter in ms
      Returns:
      Liste aller Dateinamen der Dateien die älter als age ms sind
    • getLocalFile

      File getLocalFile(String filename)
      liefert ein File-Objekt, welches auf eine lokale Datei zeigt. Ist die Datei nicht lokal vorhanden wird sie lokal heruntergeladen und dann das File-Objekt zurückgegeben. Ist die Datei lokal vorhanden wird ein File-Objekt auf diese Datei zurückgegeben.
      Parameters:
      filename - Dateiname
      Returns:
      File-Objekt welches auf eine lokale Datei zeigt. Ist die Datei nicht vorhanden wird null zurückgegeben.
    • adaptUrlToRelative

      void adaptUrlToRelative(String serverpath)
      Anpassen des Image-Services an ein lokales Service: Die URL wird nicht mehr vollständig zurückgeben, sondern nur mehr ausgehend vom akt. Server beginnend mit zB. /images/....
      Diese Anpassung wird nur durchgeführt, wenn das Image-Service und der Server die gleiche IP-Adresse und das gleiche port haben. Notwendig, um das Download-Attirbute im -Tag nutzen zu können
      Parameters:
      serverpath - Servlet-Path
    • checkFilename

      static String checkFilename(String filename)
      Prüft einen Dateinamen ob er gültig ist und ändert ihn gegebenenfalls auf einen gültigen Namen
      Parameters:
      filename - Dateiname
      Returns:
      gültiger Dateiname
    • generateFilename

      static String generateFilename(String base, String extension)
      Erzeugt aus einem String eine md5-Prüfsumme für den Dateinamen
      Mit diesem Dateinamen sollte das Bild dann im Imageservice gespeichert und geladen werden können
      Parameters:
      base - Basis-String, der entweder der Dateiinhalt, oder eine eindeutige Beschreibung des Bildes darstellt.
      extension - Extension der Datei
      Returns:
      Dateiname aus md5-Prüfsumme und Extension
    • generateFilename

      static String generateFilename(byte[] base, String extension)
      Erzeugt aus einem byteArray des Dateiinhaltes eine md5-Prüfsumme für den Dateinamen
      Mit diesem Dateinamen sollte das Bild dann im Imageservice gespeichert und geladen werden können
      Parameters:
      base - Dateiinhalt
      extension - Extension der Datei
      Returns:
      Dateiname aus md5-Prüfsumme und Extension
    • imgToBase64String

      static String imgToBase64String(BufferedImage img)
    • base64StringToImg

      static BufferedImage base64StringToImg(String base64String)
    • getImageWeb

      static String getImageWeb(FileDTO fileDTO, boolean dblClick)
      Liefert den fertigen HTML-Tag zur Darstellung eines Bild. Inkludiert snd JS-Libs zum Öffnen des Bildes in einem eigenen Fenster
      Parameters:
      fileDTO - FileDTO vom Image-Service
      dblClick - Bei Doppelclick wird das Bild groß aufgeklappt, sonst bei Einfachclick
      Returns:
      img-Tag
    • loadImageSource

      static FileBase64Dto loadImageSource(String imgSrc)
      Lädt ein Bild von einer HTML img-src als Base64 codierten String
      Parameters:
      imgSrc - Inhalt des src-Attributes eines HTML-img-Tags
      Returns:
      Inhalt Base64 codiert oder null wenn Datei nicht ladbar ist