Lesen Sie eine komprimierte Base64-codierte Datei im Jitterbit Integration Studio
Einführung
Wenn eine Anfrage oder Antwort eine Binärdatei (z. B. ein PDF) enthält, wird diese üblicherweise in Base64 kodiert. Der Grund ist einfach: JSON und XML sind textbasierte Formate und können keine Binärdateien verwenden.
Codieren einer Zeichenfolge
Die Kodierung einer Zeichenfolge erfolgt mit Base64Encode
in Kombination mit Jitterbits HexToBinary
Und StringToHex
Funktionen:
binary = Base64Encode(HexToBinary(StringToHex("Hello world!"));
Dekodieren einer Binärdatei
Das Dekodieren einer Binärdatei ist noch einfacher mit Base64Decode
. Der Umgang mit einer Base64-codierten ZIP-Datei erfordert jedoch zusätzlichen Aufwand.
Angenommen, Sie speichern komprimierte Dateien in Amazon S3 und müssen diese in einem Integration Studio-Projekt lesen. Da Amazon S3 alle Daten in Base64 speichert, besteht der Standardansatz darin, einfach Base64Decode
und das Ergebnis lesen. Wenn die Quelle jedoch komprimiert ist, müssen wir einen anderen Prozess befolgen. Zuerst muss die Binärdatei auf der Festplatte gespeichert werden (nicht in einer Variable Endpoint). Dies kann durch Schreiben in den Temporären Speicher erfolgen oder eine lokale Dateifreigabe.
Im obigen Operation stellt die Transformation eine Eingabe für die Amazon S3 Aktivität bereit:
Anschließend wird der Inhalt gelesen und dekodiert:
//decode file
undecoded = Base64Decode(ReadFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_read/Read</TAG>"));
Anschließend wird die dekodierte Datei in einen anderen Temporären Speicher geschrieben Endpoint. Beachten Sie die Verwendung von FlushFile
:
//write to temp
WriteFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_write/Write</TAG>",undecoded,"undecoded.zip");
FlushFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_write/Write</TAG>","undecoded.zip");
Schließlich eine Operation mit dem Archiv Muster liest die Datei und schreibt in das Ziel:
Die Aktivität „Lesen im temporären Speicher“ ist in den Optionen so konfiguriert, dass die Datei wie eine komprimierte Datei behandelt wird:
Damit der ursprüngliche ZIP-Dateiname von der Aktivität „Temporärer Speicher Schreiben“ gespeichert wird, verwenden Sie die [file].[ext]
Dateinamen-Schlüsselwörter im Feld Dateinamen: