Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Klasse FTPUtils
static boolean uploadFile(EMailContextFTPContext context)
Lädt eine Datei auf einen FTP-Server
static boolean uploadFileNow(EMailContextFTPContext context)
Lädt eine Datei sofort auf einen FTP-Server, unabhängig von den Einstellungen in den Nucletparametern
static List<String> listFilesNow(EMailContextFTPContext context)
Liefert eine Liste aller gefundenen Dateien
static boolean downloadFileNow(EMailContextFTPContext context)
Lädt eine Datei sofort auf vom FTP-Server herunter, unabhängig von den Einstellungen in den Nucletparametern
Klasse FTPContext
void setServer(String name)
Definiert den zu verwendenden FTP-Server
void setServer(FTPServer server)
Definiert den zu verwendenden FTP-Server
void setFile(NuclosFile file)
Definiert die Upload-Datei
void setFile(File file)
Definiert die Upload-Datei
void setReference(String reference)
Definiert eine Referenz. Das kann z.B. eine Auftragsnummer sein. Die Referenz hat keinen Einfluss auf den Upload oder Download, hilft aber, Dateien im Protokoll wiederzufinden, die zu einem bestimmten Auftrag gehören.
void setDeleteAfterDownload(Boolean deleteAfterDownload)
Die Datei wird nach dem erfolgreichen Download auf dem FTP-Server gelöscht
void setDownloadTarget(String downloadTarget)
Ziel-Datei des Downloads (darf noch nicht existieren)
void setDownloadSource(String downloadSource)
Quell-Datei des Downloads 
FTPServer getServer()
Liefert den definierten Server
NuclosFile getFile()
Liefert die hochzuladende Datei
String getDownloadSource()
Liefert den Pfad der herunterzulandenden Datei
String getReference()
Liefert die definierte Referenz (fachlicher Hinweis)
boolean isDeleteAfterDownload()
Liefert die Einstellung zum Löschen der Datei auf dem Server nach dem Download
Beispiel (Upload)

FTPContext context = new FTPContext();
context.setFile(auftrag.getRechnung());
context.setServer(auftrag.getKundeBO().getServerBO());
context.setReference("Auftrag " + auftrag.getAuftragsnr());
boolean success = FTPUpload.uploadFile(context);
if (success) {
MessageContext.sendMessage("Die Rechnung wurde erfolgreich übermittelt.", "FTP Upload");
}
Beispiel (Download)

FTPContext ftpContext = new FTPContext();
ftpContext.setServer(server);
List<String> list = FTPUtils.listFilesNow(ftpContext);
context.joblog(list.size() + " Dateien gefunden.");
ftpContext.setDeleteAfterDownload(true);
String path = localTempDir;
File file = null;
for (String filename : list) {
boolean success = false;
ftpContext.setDownloadSource(filename);
ftpContext.setDownloadTarget(path + filename);
try {
file = FTPUtils.downloadFileNow(ftpContext);
success = true;
context.joblog("Datei " + filename + " erfolgreich heruntergeladen.");
} catch (Exception ex) {
context.joblogError("Fehler beim Download von \"" + filename + "\": " + ex.getMessage());
}
if (success) {
if (file == null) {
context.joblogError("Heruntergeladene Datei \"" + filename + "\" ist leer ");
} else {
this.processFile(file, context);
}
}
}

...