Zum Inhalt springen

Lesen Sie eine komprimierte Base64-codierte Datei im Jitterbit Integration Studio

Einführung

Wenn eine Anfrage oder Antwort eine Binärdatei (z. B. eine PDF-Datei) enthält, wird sie normalerweise in Base64 kodiert. Der Grund ist einfach: JSON und XML sind textbasierte Formate und können nichts Binäres verwenden.

Einen String kodieren

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-kodierten ZIP-Datei erfordert jedoch zusätzlichen Aufwand.

Angenommen, Sie speichern komprimierte Dateien in Amazon S3 und müssen diese einlesen an Integration Studio Projekt. Da Amazon S3 alle seine 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.

Operation lesen s3

Im obigen Operation stellt die Transformation die Eingabe für die Amazon S3 Aktivität bereit:

s3 Antwort erhalten

Als nächstes 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");

Zum Schluss noch eine Operation mit dem Archiv Muster liest die Datei und schreibt in das Ziel:

Operation

Die Aktivität „Temporary Storage Read“ ist in ihren Optionen so konfiguriert, dass dies als komprimierte Datei behandelt wird:

Temporary Storage-Lesekomprimierung

Damit der ursprüngliche komprimierte Dateiname von der Aktivität „Temporärer Speicher Schreiben“ gespeichert wird, verwenden Sie die [file].[ext] Dateiname Schlüsselwörter im Feld Dateinamen:

Temporärer Speicher schreiben