Bild laden/speichern
Diese Aktion ermöglicht die folgenden Funktionen:
•Laden einer Bilddatei in einen Seitenquellen-Node als Base64-kodiertes Bild
•Speichern eines Base64-kodierten Bilds als Bilddatei in einem Seitenquellen-Node oder auf dem Server oder unter einem anderen externen Pfad.
Laden einer Bilddatei in einen Seitenquellen-Node
Eine Bilddatei kann mit Hilfe der Option Bild in Node laden der Aktion "Bild laden/speichern" (siehe Abbildung unten) in einen Seitenquellen-Node geladen werden. Wählen Sie den Ziel-Node, d.h. den Seitenquellen-Node, in dem die Bilddaten gespeichert werden sollen, mit Hilfe eines XPath-Ausdrucks aus. Wählen Sie im Feld Dateipfad die Bilddatei aus, die in den Ziel-Node geladen werden soll. Die Bilddatei kann jedes Standard-Bildformat (wie BMP, EXIF, GIF, JPG oder PNG) haben. Die Daten der Bilddatei werden ins Base64-Format konvertiert und im Ziel-Node als Base64-kodiere Daten gespeichert. Beachten Sie, dass die Base64-Kodierung Informationen zum Originalbildformat enthält.
Die Option Automatisch drehen wird auf EXIF-Bilder angewendet. Wenn sie aktiviert ist, wird das EXIF-Bild automatisch gemäß den EXIF-Informationen gedreht. Die Bildgröße bleibt unverändert, als Bildqualität wird 50 % eingestellt. Wenn die Information zur Drehung in der EXIF-Datei nicht vorhanden ist, wird dennoch versucht, das Bild darzustellen. Es wird kein Fehler ausgegeben. Wenn die Darstellung jedoch z.B. aufgrund fehlender oder nicht kompatibler Daten oder aufgrund von zu wenig Arbeitsspeicher fehlschlägt, wird ein Fehler ausgegeben.
Speichern von Base64-kodierten Bilddaten als Bilddatei
Im Base64-Format kodierte Bilddaten, die in einem Seitenquellen-Node gespeichert sind, können mit Hilfe der Option Bild in Datei speichern der Aktion "Bild laden/speichern" als Bilddatei gespeichert werden (siehe Abbildung unten). Wählen Sie den Seitenquellen-Node, in dem sich das Base64-kodierte Bild befindet, aus (das Feld Quell-Node; siehe Abbildung unten). Wählen Sie anschließend den Ordner auf dem Server oder Client, in dem die Datei gespeichert werden soll (das Feld Dateipfad).
Mit Hilfe der Altova XPath-Erweiterungsfunktion suggested-image-file-extension können Sie bei der Eingabe des Dateipfads den Dateityp des Bilds ermitteln bzw. angeben. Jedes Bild hat ein bestimmtes Bildformat. Diese Formatinformationen sind in den Base64-kodierten Bilddaten gespeichert. Die Funktion suggested-image-file-extension gibt die Dateierweiterung zurück. Beachten Sie: Wenn Sie den falschen Dateityp als Teil des Bilddateinamens eingeben, kann die Bilddatei möglicherweise nicht mehr gelesen werden.
Das Ergebnis des folgenden XPath-Ausdrucks:
concat('EmployeePhotos/', @name, @surname, '.', suggested-image-file-extension(@photo))
würde z.B. folgendermaßen lauten:
EmployeePhotos/MaxMuster.png
Ein Verwendungsbeispiel für diese Aktion finden Sie unter Vom Endbenutzer ausgewählte Bilder.
Bilddateipfade
Wenn Sie in der Aktion "Bild laden/speichern" auf die Schaltfläche Zusätzliches Dialogfeld des Felds Dateipfad klicken (siehe Abbildung oben), wird das Dialogfeld "Bild aus Datei laden" (für das Laden) bzw. "Bild in Datei speichern" (für das Speichern) angezeigt. In diesen Dialogfeldern können Sie definieren, ob sich die Datei auf dem Server oder Client befindet, indem Sie das entsprechende Optionsfeld aktivieren (siehe Abbildungen unten).
Die Datei befindet sich auf dem Server
Wenn sich die Bilddatei auf dem Server befindet, können Sie entweder zur Datei navigieren (Absoluter/Relativer Pfad) oder die Datei über eine globale Ressource definieren (Datei-Alias oder Ordner-Alias). Wählen Sie die gewünschte Option aus.
•Absoluter/Relativer Pfad: Sie können einen Pfad eingeben, mit "Durchsuchen" zu einer Datei navigieren oder einen XPath-Ausdruck zur Generierung des Dateipfads eingeben. Durch Drücken der Schaltfläche Zurücksetzen können Sie den aktuellen Eintrag entfernen. Beim Pfad kann es sich um einen relativen Pfad zur Designdatei oder um einen absoluten Pfad handeln. Wenn die Datei zusammen mit der Designdatei auf dem Server bereitgestellt wird, so wird intern (in der Datenbank des Servers) der im Dialogfeld definierte relative/absolute Pfad verwendet, um die Datei aufzurufen. Wenn die Datei nicht mit bereitgestellt wird, muss sie in einem Verzeichnis auf dem Server gespeichert werden. In diesem Fall gilt: (i) Wenn im Dialogfeld "Aus Datei laden" oder "Datei speichern/definieren" ein relativer Pfad ausgewählt ist, so wird dieser relative Pfad zur Laufzeit relativ zum (in den MobileTogether Server-Einstellungen definierten) Arbeitsverzeichnis aufgelöst; (ii)Wenn der Pfad im Dialogfeld "Aus Datei laden" oder "Datei speichern/definieren" absolut ist, muss der Ordner auf dem Server, der die Datei enthält, ein Nachfahre des Arbeitsverzeichnisses sein. Nähere Informationen finden Sie im Abschnitt Speicherort von Projektdateien. Außerdem können Sie auswählen, ob nicht vertrauenswürdige SSL-Verbindungen beim Aufrufen oder Speichern der Datei als vertrauenswürdig oder nicht vertrauenswürdig behandelt werden sollen. Wenn es sich beim Feld Absoluter/Relativer Pfad um ein Feld in einem Dialogfeld zum Speichern einer Datei - und nicht zum Laden einer Datei - handelt, können Sie optional eine Standarddateierweiterung definieren, die verwendet werden soll, wenn mit dem Dateinamen keine Erweiterung definiert wird.
•beim Speichern der Datei automatisch Unterordner erstellen: Wenn auf dem Client-Gerät Ordner im Dateipfad fehlen, werden diese beim Speichern der Datei erstellt. Diese Option ist nur beim Speichern relevant; wenn die Aktion auf das reine Laden von Dateien eingeschränkt ist, fehlt diese Option.
•Nicht vertrauenswürdige SSL-Verbindungen zulassen: Ein mit einer URL verknüpftes Zertifikat gilt als nicht vertrauenswürdig, wenn es nicht durch ein vertrauenswürdiges Root-Zertifikat signiert ist oder wenn keine Verknüpfung zu einem vertrauenswürdigen Root-Zertifikat erstellt werden kann. Wenn das Zertifikat von einer bekannten Zertifizierungsstelle signiert wurde, bedeutet das lediglich, dass eine der Zertifikat-Chain-Dateien zwischen Ihrem Zertifikat und dem Root-Zertifikat auf dem Webserver nicht installiert ist. Wenn ein vertrauenswürdiges Zertifikat erwartet wird (z.B. weil das HTTPS-Protokoll definiert wurde), so werden bei Auswahl dieser Option auch Verbindungen mit URLs zugelassen, die ein nicht vertrauenswürdiges Zertifikat haben.
•Alias der Datei für globale Ressourcen: Wählen Sie einen Dateialias aus den in der Auswahlliste verfügbaren aus. Die verfügbaren Dateialiasse sind diejenigen, die derzeit in der Definitionsdatei für globale Ressourcen definiert sind. Jeder Dateialias wird je nach der gerade aktiven Konfiguration in MobileTogether Designer (die mit dem Befehl Extras | Aktive Konfiguration ausgewählt wird) auf andere Dateiressourcen gemappt. Nähere Informationen dazu finden Sie im Abschnitt Globale Altova-Ressourcen.
•Alias des Ordners für globale Ressourcen mit Pfadfragment: Wählen Sie einen Ordneralias aus der Auswahlliste aus (siehe Abbildung unten).
Die verfügbaren Ordneraliasse sind diejenigen, die derzeit in der Definitionsdatei für globale Ressourcen definiert sind. Jeder Ordneralias wird je nach der gerade aktiven Konfiguration in MobileTogether Designer (die mit dem Befehl Extras | Aktive Konfiguration ausgewählt wird) auf andere Ordnerressourcen gemappt. Das Pfadfragment definiert den Rest des Pfads zur Dateiressource. Nähere Informationen dazu finden Sie im Abschnitt Globale Altova-Ressourcen.
Die Datei befindet sich auf dem Client
Wenn sich die Bilddatei auf dem Client befindet, so definieren Sie den Pfad zur Datei durch Eingabe/Auswahl des Pfads oder durch Generierung des Pfads mit Hilfe eines XPath-Ausdrucks. Durch Drücken der Schaltfläche Zurücksetzen können Sie den aktuellen Eintrag entfernen.
Die zu ladende/speichernde Datei kann von Ihnen, dem Designer, oder vom Endbenutzer definiert werden. Wenn Sie die Datei definieren, werden diese Informationen in der Lösung gespeichert und die Datei wird beim Auslösen der Aktion geladen/gespeichert. Wenn Sie festlegen, dass der Endbenutzer auswählen kann, welche Datei geladen/gespeichert werden soll, so wird bei Auslösung der Aktion auf dem Client-Gerät ein Navigationsdialogfeld geöffnet, in dem der Endbenutzer die zu landende/speichernde Datei eingeben/auswählen kann.
Anmerkung: | Die Option, über die der Endbenutzer die zu ladende/speichernde Datei auswählen kann, steht für die folgenden Aktionen zur Verfügung: Drucken in (Optionen Quelldatei und Zieldatei) Datei laden/speichern, Bild laden/speichern, Binärdatei laden/speichern, Textdatei laden/speichern, Ordner lesen und Dateiinfo abrufen. |
Anmerkung: | Dateien auf dem Client können auch auf der SD-Karte des Mobilgeräts gespeichert werden. |
Dateiname wird (vom Designer der Lösung) unten definiert
•Standarddateierweiterung beim Speichern von Dateien: Sie können beim Speichern von Dateien optional eine Standarddateierweiterung definieren, die verwendet werden soll, wenn mit dem Dateinamen keine Erweiterung definiert wird.
•beim Speichern der Datei automatisch Unterordner erstellen: Wenn auf dem Client-Gerät Ordner im Dateipfad fehlen, werden diese beim Speichern der Datei erstellt. Diese Option ist nur beim Speichern relevant. Sie fehlt, wenn es sich bei der Aktion um eine Dateiladeaktion handelt.
•Geräteabhängige Verzeichnisse: Wählen Sie das Geräteverzeichnis aus der Dropdown-Liste aus. Auf Windows Phone/RT und iOS sind die zulässigen Verzeichnisse vordefiniert. Auf Android-Geräten können Sie zusätzlich zu den Verzeichnissen in der Dropdown-Liste der Auswahlliste Android auch jeden beliebigen anderen Ordner eingeben. Wenn Sie auf Android und Windows die Standardauswahl Default wählen, wird das Sandbox-Verzeichnis der MobileTogether App ausgewählt. Auf iOS-Geräten erstellt MobileTogether zwei Verzeichnisse: (i) ein Gesichertes Verzeichnis für Dateien, die in der iCloud gespeichert und später erneut heruntergeladen werden können; (ii) ein Nicht gesichertes Verzeichnis für Dateien, die nicht gesichert werden müssen. Wählen Sie je nach Bedarf das benötigte Verzeichnis aus. In Webbrowsern werden Dateien relativ zur Sandbox des Browsers gespeichert.
•Dateipfade für Simulationen: Da auf dem Client gespeicherte Dateien bei Simulationen nicht zur Verfügung stehen, können Sie einen Ordner definieren, der bei Simulationen anstelle des Client-Ordners verwendet werden soll. Die Dateien in diesem Ersatzordner müssen natürlich dieselben Namen wie die im Design definierten Dateien haben. Dieser Ordner wird im Dialogfeld "Optionen" auf dem Register "Simulation" (Extras | Optionen) definiert.
Anmerkung: Auf Web Clients werden Dateien temporär auf dem Server gespeichert. Bei Beendung der Server-Sitzung werden sie dort gelöscht. Eine Server-Sitzung endet nach einer festgelegten Periode der Inaktivität, die im Bereich "Div". des Registers "Server-Einstellungen" in den Sitzungseinstellungen definiert ist (siehe Benutzerhandbuch zu MobileTogether Server).
Dateiname wird vom Endbenutzer (auf dem Client-Gerät) definiert
•Standarddateierweiterung beim Speichern von Dateien: Sie können beim Speichern von Dateien optional eine Standarddateierweiterung definieren, die verwendet werden soll, wenn mit dem Dateinamen keine Erweiterung definiert wird.
•Optionaler Dateifilter: Im Navigationsdialogfeld, das auf dem Client-Gerät geöffnet wird, werden die zu ladenden/speichernden Dateitypen gefiltert, so dass nur die von Ihnen definierten Dateierweiterungen zulässig sind. Sie können hier Folgendes eingeben: (i) eine durch Kommas oder Semikola getrennte Liste von Dateierweiterungen (z.B.: txt,html;xml) oder (ii) einen XPath-Ausdruck, der eine Sequenz von String-Elementen zurückgibt, wobei es sich bei jedem String-Element um eine Dateierweiterung handelt (hier z.B. eine Sequenz bestehend aus drei String-Elementen: 'txt','html,'xml').
•Optionale Standarddatei: Hier können Sie - entweder direkt oder über einen XPath-Ausdruck - als Hilfe für den Endbenutzer einen Standarddateinamen eingeben.
•Web-Meldungsfeld: Bevor das Dialogfeld "Datei öffnen/speichern" geöffnet wird, wird ein Meldungsfeld angezeigt. Sie können hier - entweder direkt oder über einen XPath-Ausdruck - Text eingeben, um den Standardtext des Meldungsfelds außer Kraft zu setzen.
•beim Speichern der Datei automatisch Unterordner erstellen: Wenn auf dem Client-Gerät Ordner im Dateipfad fehlen, werden diese beim Speichern der Datei erstellt. Diese Option ist nur beim Speichern relevant. Sie fehlt, wenn es sich bei der Aktion um eine Dateiladeaktion handelt.
Anmerkung: Auf iOS-Geräten kann man die Auswahl der Datei auf dem Gerät nur als Import/Export aus/in die iCloud durch den Benutzer treffen lassen; Benutzern ist das Durchsuchen von gesicherten oder nicht gesicherten Ordnern nicht gestattet.
Fehlerverarbeitung
Mit der Option Bei Fehler können Sie definieren, wie bei Auftreten eines Fehlers vorgegangen wird. Da die Fehlerbehandlung für diese Aktion genau definiert werden kann, werden Fehler in solchen Aktionen (für die eine Fehlerbehandlung vorgesehen ist) als Warnungen und nicht Fehler behandelt. Der Vorteil davon ist, dass Sie Fehler bei Aktionen, für die bereits eine Fehlerbehandlung definiert wurde, nicht überprüfen müssen. Die folgenden Fehlerbehandlungsoptionen stehen zur Verfügung:
•Skript abbrechen: Sobald ein Fehler auftritt, werden alle nach diesem Ereignis durchzuführenden Aktionen beendet. Dies ist das Standardverhalten bei Auftreten eines Fehlers. Wenn Sie möchten, dass auch bei einem Fehler fortgefahren werden soll, wählen Sie entweder die Option Weiter oder Throw aus.
•Weiter: Die Aktionen werden nicht beendet. Sie können stattdessen auswählen, was in jedem der beiden Fälle (kein Fehler (Bei Erfolg) oder Auftreten eines Fehlers (Bei Fehler)) geschehen soll. So kann z.B. ein Meldungsfeld definiert werden, das den Benutzer darüber informiert, ob eine Seite erfolgreich geladen werden konnte oder nicht.
•Throw: Wenn ein Fehler aufgetreten ist, wird mit dieser Option eine Ausnahme ausgelöst, die in der Variablen der Try/Catch-Aktion gespeichert wird. Mit dem Catch-Teil der Try/Catch-Aktion wird definiert, welche Aktion bei Auftreten eines Fehlers durchgeführt werden soll. Wenn kein Fehler auftritt, wird die nächste Aktion verarbeitet. Nähere Informationen dazu finden Sie im Abschnitt zur Aktion "Try/Catch Ausnahme".
MobileTogether-Erweiterungsfunktionen
MobileTogether enthält eine Reihe von XPath-Erweiterungsfunktionen, die speziell für die Verwendung in MobileTogether-Designs erstellt wurden. Einige davon können bei bestimmten Aktionen sehr nützlich sein. So erhalten Sie etwa mit mt-available-languages() die Sprachen, in denen die Lösung zur Verfügung steht. Diese Funktion könnte z.B. mit der Aktion Meldungsfeld verwendet werden. Wenn eine Funktion für diese Aktion besonders relevant ist, ist sie unten aufgelistet. Eine vollständige Liste aller Erweiterungsfunktionen und mit Beschreibungen finden Sie im Kapitel MobileTogether-Erweiterungsfunktionen.
mt-last-file path()
mt-base64-to-hexBinary()
mt-hexBinary-to-base64()
mt-hexBinary-to-string()
mt-change-image-colors()
mt-extract-file-extension()
mt-extract-file-name()
mt-image-width-and-height()
mt-string-to-hexBinary()
mt-transform-image()