From 283f556911cf2b3ad20bfaf40261b663ad908110 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Tue, 27 May 2025 13:23:35 +0200 Subject: [PATCH] vers,TeloApi --- SDL/My Project/AssemblyInfo.vb | 4 +- .../Schnittstellen/TELOTEC/cTelotecAPI.vb | 48 +++++++++++++++++-- 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index d294f92c..796fdc3c 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb index 900f0541..4be4142b 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb @@ -172,8 +172,10 @@ Public Class cTelotecAPI Return New List(Of TAMessage)() End If + Dim filePath As String = "" Dim jsonText As String = resp.BodyStr - SaveJsonResponseToFile(jsonText, TELOTEC_JSON) + SaveJsonResponseToFile(jsonText, TELOTEC_JSON, filePath) + SaveJsonResponseTo_ATEZFTP(filePath) ' Übergabe an Parserfunktion Return ParseTAMessagesJson(jsonText) @@ -343,7 +345,47 @@ Public Class cTelotecAPI End Try End Sub - Public Sub SaveJsonResponseToFile(jsonText As String, ByVal TELOTEC_JSON As String) + ' FTP-Zugangsdaten + Dim ftpServer As String = "ftp://example.com" ' Ersetze mit deinem FTP-Server + Dim ftpUsername As String = "deinBenutzername" + Dim ftpPassword As String = "deinPasswort" + + Public Sub SaveJsonResponseTo_ATEZFTP(filePath As String) + Try + ' Dateiname aus dem Pfad extrahieren + Dim fileName As String = System.IO.Path.GetFileName(filePath) + + ' FTP-Ziel-URL zusammenbauen + Dim ftpFullPath As String = $"{ftpServer}/{fileName}" + + ' FtpWebRequest erstellen + Dim request As System.Net.FtpWebRequest = CType(System.Net.WebRequest.Create(ftpFullPath), System.Net.FtpWebRequest) + request.Method = System.Net.WebRequestMethods.Ftp.UploadFile + request.Credentials = New System.Net.NetworkCredential(ftpUsername, ftpPassword) + request.UseBinary = True + request.UsePassive = True + request.KeepAlive = False + + ' Datei lesen und in Byte-Array umwandeln + Dim fileContents() As Byte = System.IO.File.ReadAllBytes(filePath) + request.ContentLength = fileContents.Length + + ' Stream öffnen und Datei senden + Using requestStream As System.IO.Stream = request.GetRequestStream() + requestStream.Write(fileContents, 0, fileContents.Length) + End Using + + ' Antwort vom Server holen + Using response As System.Net.FtpWebResponse = CType(request.GetResponse(), System.Net.FtpWebResponse) + Console.WriteLine("Upload abgeschlossen, Status: " & response.StatusDescription) + End Using + + Catch ex As Exception + Console.WriteLine("Fehler beim Upload: " & ex.Message) + End Try + End Sub + + Public Sub SaveJsonResponseToFile(jsonText As String, ByVal TELOTEC_JSON As String, ByRef filePath As String) Try Dim yearDir As String = Path.Combine(TELOTEC_JSON, Date.Now.Year.ToString()) Dim dayDir As String = Path.Combine(yearDir, Date.Now.ToString("dd.MM.yyyy")) @@ -351,7 +393,7 @@ Public Class cTelotecAPI Directory.CreateDirectory(dayDir) Dim fileName As String = "GetTAMessages_" & Date.Now.ToString("HHmmss") & ".json" - Dim filePath As String = Path.Combine(dayDir, fileName) + filePath = Path.Combine(dayDir, fileName) File.WriteAllText(filePath, jsonText, Encoding.UTF8) Console.WriteLine("📁 JSON gespeichert unter: " & filePath)