avisoController
This commit is contained in:
@@ -1,6 +1,11 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports System.Net
|
||||||
|
Imports System.Net.Http
|
||||||
|
Imports System.Threading
|
||||||
|
Imports System.Web.Http
|
||||||
Imports System.Web.Http.Description
|
Imports System.Web.Http.Description
|
||||||
Imports Microsoft.Web.Http
|
Imports Microsoft.Web.Http
|
||||||
|
Imports Org.BouncyCastle.Asn1
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
Namespace ApiController.Controllers
|
Namespace ApiController.Controllers
|
||||||
@@ -21,12 +26,19 @@ Namespace ApiController.Controllers
|
|||||||
<ApiVersion("1")>
|
<ApiVersion("1")>
|
||||||
<System.Web.Http.Route("api/v{version:apiVersion}/uploadAvisoAttachment")>
|
<System.Web.Http.Route("api/v{version:apiVersion}/uploadAvisoAttachment")>
|
||||||
<BasicAuthentication>
|
<BasicAuthentication>
|
||||||
Public Function uploadAvisoAttachment(anhangsart As String, arrayOfFiles() As String, Optional avisoId As Integer = -1, Optional sendungsId As Integer = -1) As String
|
Public Function uploadAvisoAttachment(anhangsart As String, arrayOfFiles() As String, Optional avisoId As Integer = -1, Optional sendungsId As Integer = -1, Optional saveOnServer As Boolean = False) As HttpResponseMessage
|
||||||
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
||||||
VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL
|
VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG
|
||||||
|
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Dim prog As String = ""
|
||||||
|
Dim DSZugang As New DataTable
|
||||||
|
Dim DS_Domain As String = ""
|
||||||
|
Dim DS_name As String = ""
|
||||||
|
Dim DS_pw As String = ""
|
||||||
|
Dim uploadAvisoAttachmentErr As String = "ERR"
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Dim ip = Request.Properties("MS_HttpContext").Request.UserHostAddress()
|
Dim ip = Request.Properties("MS_HttpContext").Request.UserHostAddress()
|
||||||
|
|
||||||
@@ -52,36 +64,74 @@ Namespace ApiController.Controllers
|
|||||||
' Return uploadAvisoAttachment
|
' Return uploadAvisoAttachment
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
uploadAvisoAttachment = "ERR"
|
|
||||||
|
|
||||||
If arrayOfFiles Is Nothing OrElse arrayOfFiles.Length < 0 Then
|
If arrayOfFiles Is Nothing Then
|
||||||
|
|
||||||
|
uploadAvisoAttachmentErr = "FILESARRAY_NOTHING_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, uploadAvisoAttachmentErr)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If arrayOfFiles.Length < 1 Then
|
||||||
|
|
||||||
|
uploadAvisoAttachmentErr = "FILESARRAY_EMPTY_ERR" & arrayOfFiles.ToString
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, uploadAvisoAttachmentErr)
|
||||||
|
|
||||||
uploadAvisoAttachment = "FILESARRAY_EMPTY_ERR"
|
|
||||||
Return uploadAvisoAttachment
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If anhangsart <> "" Then ' AndAlso listOfImages IsNot Nothing AndAlso listOfImages.Count > 0
|
If anhangsart <> "" Then ' AndAlso listOfImages IsNot Nothing AndAlso listOfImages.Count > 0
|
||||||
|
|
||||||
|
If Not saveOnServer Then
|
||||||
|
prog = "Datenarchiv"
|
||||||
|
DSZugang = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & prog & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
|
||||||
|
If DSZugang.Rows.Count = 0 Then
|
||||||
|
uploadAvisoAttachmentErr = "LOGIN_DS_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Zugang für Datenarchiv
|
||||||
|
DS_Domain = DSZugang.Rows(0).Item("api_url")
|
||||||
|
DS_name = DSZugang.Rows(0).Item("api_user")
|
||||||
|
DS_pw = DSZugang.Rows(0).Item("api_password")
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If sendungsId > 0 Then
|
If sendungsId > 0 Then
|
||||||
|
|
||||||
Dim SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(sendungsId)
|
Dim SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(sendungsId)
|
||||||
If SENDUNG Is Nothing Then
|
If SENDUNG Is Nothing Then
|
||||||
uploadAvisoAttachment = "NO_SENDUNG_ERR"
|
uploadAvisoAttachmentErr = "NO_SENDUNG_ERR"
|
||||||
Return uploadAvisoAttachment
|
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, uploadAvisoAttachmentErr)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
|
If Not saveOnServer Then
|
||||||
|
'wenn bereits offen, dann wareten
|
||||||
|
For i = 0 To 20
|
||||||
|
If Not NetzwerkVerbindungOffen(DS_name, DS_Domain) Then Exit For
|
||||||
|
Thread.Sleep(1000)
|
||||||
|
i = i + 1
|
||||||
|
If i = 10 AndAlso NetzwerkVerbindungOffen(DS_name, DS_Domain) Then
|
||||||
|
uploadAvisoAttachmentErr = "NO_NEW_DS_CONNECTION_ERR"
|
||||||
|
Return Request.CreateErrorResponse(600, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NetzwerkVerbindungHerstellen(DS_Domain, DS_name, DS_pw)
|
||||||
|
End If
|
||||||
|
|
||||||
For Each image In arrayOfFiles
|
For Each image In arrayOfFiles
|
||||||
Dim filetemp = image.Replace("data:application/pdf;base64,", "")
|
Dim filetemp = image.Replace("data:application/pdf;base64,", "")
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Convert.FromBase64String(filetemp)
|
Convert.FromBase64String(filetemp)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
uploadAvisoAttachment = "BASE64_FORMAT_ERR"
|
uploadAvisoAttachmentErr = "BASE64_FORMAT_ERR"
|
||||||
Return uploadAvisoAttachment
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
Dim fileextension = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getFileExtensionFromBase64String(filetemp)
|
Dim fileextension = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getFileExtensionFromBase64String(filetemp)
|
||||||
@@ -91,44 +141,114 @@ Namespace ApiController.Controllers
|
|||||||
' Return uploadAvisoAttachment
|
' Return uploadAvisoAttachment
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
|
If Not saveOnServer Then
|
||||||
|
|
||||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "AVISO_ANHAENGE", SENDUNG.tblSnd_AvisoID, Now.ToString("ddMMyy_HHmmss.ffff"), "", anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"), False)
|
|
||||||
DS.uploadDataToDATENSERVER_fromBase64String(filetemp, DS.da_name, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), False, False)
|
|
||||||
|
|
||||||
If DS.da_id <= 0 Then
|
|
||||||
uploadAvisoAttachment = "UPLOAD_DS_ERR"
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "AVISO_ANHAENGE", SENDUNG.tblSnd_AvisoID, Now.ToString("ddMMyy_HHmmss.ffff"), "", anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"), False)
|
||||||
Return uploadAvisoAttachment
|
DS.uploadDataToDATENSERVER_fromBase64String(filetemp, DS.da_name, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), False, False)
|
||||||
End If
|
|
||||||
Dim fileName = DS.da_name
|
If DS Is Nothing AndAlso DS.da_id Is Nothing AndAlso DS.da_id <= 0 Then
|
||||||
Dim destPath = DS.GET_TOP1_PATH
|
uploadAvisoAttachmentErr = "UPLOAD_DS_ERR"
|
||||||
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
Dim fi As New FileInfo(destPath)
|
End If
|
||||||
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(SENDUNG.tblSnd_AvisoID, fileName, DS.da_id, anhangsart, fi.Extension, sendungsId,, fi.Length,)
|
Dim fileName = DS.da_name
|
||||||
If Not ANH.SAVE Then
|
Dim destPath = DS.GET_TOP1_PATH
|
||||||
uploadAvisoAttachment = "SAVE_ANH_ERR"
|
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
|
||||||
Return uploadAvisoAttachment
|
If destPath <> "" Then
|
||||||
|
Dim fi As New FileInfo(destPath)
|
||||||
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(SENDUNG.tblSnd_AvisoID, fileName, DS.da_id, anhangsart, fi.Extension, sendungsId,, fi.Length,)
|
||||||
|
If Not ANH.SAVE Then
|
||||||
|
uploadAvisoAttachmentErr = "SAVE_ANH_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(SENDUNG.tblSnd_AvisoID, fileName, DS.da_id, anhangsart, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), sendungsId,, 100,)
|
||||||
|
If Not ANH.SAVE Then
|
||||||
|
uploadAvisoAttachmentErr = "SAVE_ANH_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Else
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim TMP_PATH = ""
|
||||||
|
|
||||||
|
If Environment.GetFolderPath(Environment.SpecialFolder.Personal) = "" Then ' WEB_SERV
|
||||||
|
TMP_PATH = "G:\temp\Verag\DatenTMP\SENDUNGSID\"
|
||||||
|
Else
|
||||||
|
TMP_PATH = Path.GetTempPath() & "\VERAG\DatenTMP\"
|
||||||
|
End If
|
||||||
|
|
||||||
|
TMP_PATH = TMP_PATH.Replace("\\", "\")
|
||||||
|
If Not My.Computer.FileSystem.DirectoryExists(TMP_PATH) Then
|
||||||
|
My.Computer.FileSystem.CreateDirectory(TMP_PATH)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim name = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(sendungsId & "_" & anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"))
|
||||||
|
name = name.Replace("?", "")
|
||||||
|
|
||||||
|
|
||||||
|
Dim extension = IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg")
|
||||||
|
|
||||||
|
Dim destPath = TMP_PATH & name
|
||||||
|
|
||||||
|
While System.IO.File.Exists(destPath)
|
||||||
|
destPath = TMP_PATH & name & "_" & Now.ToString("yyyyMMddHHmmssfff")
|
||||||
|
End While
|
||||||
|
|
||||||
|
Dim bytes As Byte() = Convert.FromBase64String(filetemp)
|
||||||
|
File.WriteAllBytes(destPath & extension, bytes)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
uploadAvisoAttachmentErr = ex.Message & " " & ex.StackTrace
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End Try
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If Not saveOnServer Then NetzwerkVerbindungTrennen(DS_Domain)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ElseIf avisoId > 0 Then
|
ElseIf avisoId > 0 Then
|
||||||
Dim AVISO = VERAG_PROG_ALLGEMEIN.cAviso.getAvisoById(avisoId)
|
Dim AVISO = VERAG_PROG_ALLGEMEIN.cAviso.getAvisoById(avisoId)
|
||||||
If AVISO Is Nothing Then
|
If AVISO Is Nothing Then
|
||||||
uploadAvisoAttachment = "NO_AVISO_ERR"
|
uploadAvisoAttachmentErr = "NO_AVISO_ERR"
|
||||||
Return uploadAvisoAttachment
|
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, uploadAvisoAttachmentErr)
|
||||||
Else
|
Else
|
||||||
|
|
||||||
|
If Not saveOnServer Then
|
||||||
|
|
||||||
|
'wenn bereits offen, dann wareten
|
||||||
|
For i = 0 To 20
|
||||||
|
If Not NetzwerkVerbindungOffen(DS_name, DS_Domain) Then Exit For
|
||||||
|
Thread.Sleep(1000)
|
||||||
|
i = i + 1
|
||||||
|
If i = 10 AndAlso NetzwerkVerbindungOffen(DS_name, DS_Domain) Then
|
||||||
|
uploadAvisoAttachmentErr = "NO_NEW_DS_CONNECTION_ERR"
|
||||||
|
Return Request.CreateErrorResponse(600, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
NetzwerkVerbindungHerstellen(DS_Domain, DS_name, DS_pw)
|
||||||
|
End If
|
||||||
|
|
||||||
For Each image In arrayOfFiles
|
For Each image In arrayOfFiles
|
||||||
Dim filetemp = image.Replace("data:application/pdf;base64,", "")
|
Dim filetemp = image.Replace("data:application/pdf;base64,", "")
|
||||||
Try
|
Try
|
||||||
Convert.FromBase64String(filetemp)
|
Convert.FromBase64String(filetemp)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
uploadAvisoAttachment = "BASE64_FORMAT_ERR"
|
uploadAvisoAttachmentErr = "BASE64_FORMAT_ERR"
|
||||||
Return uploadAvisoAttachment
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
@@ -139,45 +259,103 @@ Namespace ApiController.Controllers
|
|||||||
' Return uploadAvisoAttachment
|
' Return uploadAvisoAttachment
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "AVISO_ANHAENGE", avisoId, Now.ToString("ddMMyy_HHmmss.ffff"), "", anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"), False)
|
If Not saveOnServer Then
|
||||||
DS.uploadDataToDATENSERVER_fromBase64String(filetemp, DS.da_name, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), False, False)
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "AVISO_ANHAENGE", avisoId, Now.ToString("ddMMyy_HHmmss.ffff"), "", anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"), False)
|
||||||
|
DS.uploadDataToDATENSERVER_fromBase64String(filetemp, DS.da_name, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), False, False)
|
||||||
|
|
||||||
|
If DS Is Nothing AndAlso DS.da_id Is Nothing AndAlso DS.da_id <= 0 Then
|
||||||
|
uploadAvisoAttachmentErr = "UPLOAD_DS_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
Dim fileName = DS.da_name
|
||||||
|
Dim destPath = DS.GET_TOP1_PATH
|
||||||
|
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
|
||||||
|
If destPath <> "" Then
|
||||||
|
Dim fi As New FileInfo(destPath)
|
||||||
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(avisoId, fileName, DS.da_id, anhangsart, fi.Extension, sendungsId,, fi.Length,)
|
||||||
|
If Not ANH.SAVE Then
|
||||||
|
uploadAvisoAttachmentErr = "SAVE_ANH_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(avisoId, fileName, DS.da_id, anhangsart, IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg"), sendungsId,, 100,)
|
||||||
|
If Not ANH.SAVE Then
|
||||||
|
uploadAvisoAttachmentErr = "SAVE_ANH_ERR"
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim TMP_PATH = ""
|
||||||
|
|
||||||
|
If Environment.GetFolderPath(Environment.SpecialFolder.Personal) = "" Then ' WEB_SERV
|
||||||
|
TMP_PATH = "G:\temp\Verag\DatenTMP\AVISOID\"
|
||||||
|
Else
|
||||||
|
TMP_PATH = Path.GetTempPath() & "\VERAG\DatenTMP\"
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
TMP_PATH = TMP_PATH.Replace("\\", "\")
|
||||||
|
If Not My.Computer.FileSystem.DirectoryExists(TMP_PATH) Then
|
||||||
|
My.Computer.FileSystem.CreateDirectory(TMP_PATH)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim name = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(avisoId & "_" & anhangsart & "_" & Now.ToString("ddMMyy_HHmmss"))
|
||||||
|
name = name.Replace("?", "")
|
||||||
|
|
||||||
|
|
||||||
|
Dim extension = IIf(fileextension.ToLower <> "unknown", "." & fileextension, "." & "jpg")
|
||||||
|
|
||||||
|
Dim destPath = TMP_PATH & name
|
||||||
|
|
||||||
|
|
||||||
|
While System.IO.File.Exists(destPath)
|
||||||
|
destPath = TMP_PATH & name & "_" & Now.ToString("yyyyMMddHHmmssfff")
|
||||||
|
End While
|
||||||
|
|
||||||
|
Dim bytes As Byte() = Convert.FromBase64String(filetemp)
|
||||||
|
File.WriteAllBytes(destPath & extension, bytes)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
uploadAvisoAttachmentErr = ex.Message & " " & ex.StackTrace
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
|
||||||
If DS.da_id <= 0 Then
|
|
||||||
uploadAvisoAttachment = "UPLOAD_DS_ERR"
|
|
||||||
Return uploadAvisoAttachment
|
|
||||||
End If
|
|
||||||
Dim fileName = DS.da_name
|
|
||||||
Dim destPath = DS.GET_TOP1_PATH
|
|
||||||
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
|
|
||||||
Dim fi As New FileInfo(destPath)
|
|
||||||
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(avisoId, fileName, DS.da_id, anhangsart, fi.Extension, sendungsId,, fi.Length,)
|
|
||||||
If Not ANH.SAVE Then
|
|
||||||
uploadAvisoAttachment = "SAVE_ANH_ERR"
|
|
||||||
Return uploadAvisoAttachment
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If Not saveOnServer Then NetzwerkVerbindungTrennen(DS_Domain)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
Return uploadAvisoAttachment
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Return "OK"
|
Return Request.CreateErrorResponse(HttpStatusCode.OK, "DOCS HAS BEEN UPLOADED")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Return uploadAvisoAttachment
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
uploadAvisoAttachmentErr = ex.Message & " " & ex.StackTrace
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
|
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, uploadAvisoAttachmentErr)
|
||||||
Return uploadAvisoAttachment
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
@@ -365,6 +543,47 @@ Namespace ApiController.Controllers
|
|||||||
Return TESTEN_POST
|
Return TESTEN_POST
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Sub NetzwerkVerbindungHerstellen(remotePath As String, username As String, password As String)
|
||||||
|
' Netzwerkverbindung mit "net use" aufbauen
|
||||||
|
Dim startInfo As New ProcessStartInfo("net", $"use {remotePath} /user:{username} {password}")
|
||||||
|
startInfo.WindowStyle = ProcessWindowStyle.Hidden
|
||||||
|
startInfo.CreateNoWindow = True
|
||||||
|
Process.Start(startInfo).WaitForExit()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' Methode zum Trennen der Verbindung
|
||||||
|
Public Shared Sub NetzwerkVerbindungTrennen(remotePath As String)
|
||||||
|
Dim startInfo As New ProcessStartInfo("net", $"use {remotePath} /delete")
|
||||||
|
startInfo.WindowStyle = ProcessWindowStyle.Hidden
|
||||||
|
startInfo.CreateNoWindow = True
|
||||||
|
Process.Start(startInfo).WaitForExit()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Function NetzwerkVerbindungOffen(ByVal username As String, ByVal remotePath As String) As Boolean
|
||||||
|
Try
|
||||||
|
' Führe den Befehl "net use" aus und hole die Ausgabe
|
||||||
|
Dim process As New Process()
|
||||||
|
process.StartInfo.FileName = "cmd.exe"
|
||||||
|
process.StartInfo.Arguments = "/c net use"
|
||||||
|
process.StartInfo.RedirectStandardOutput = True
|
||||||
|
process.StartInfo.UseShellExecute = False
|
||||||
|
process.StartInfo.CreateNoWindow = True
|
||||||
|
process.Start()
|
||||||
|
|
||||||
|
' Lies die Ausgabe des Befehls
|
||||||
|
Dim output As String = process.StandardOutput.ReadToEnd()
|
||||||
|
process.WaitForExit()
|
||||||
|
|
||||||
|
' Überprüfe, ob die Ausgabe die gewünschte Freigabe und den Benutzernamen enthält
|
||||||
|
Return output.Contains(remotePath) AndAlso output.Contains(username)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Console.WriteLine("Fehler: " & ex.Message)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user