Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig

beantworten | zitieren | melden

Hat jemand damit schon Erfahrungen gemacht? Bei mir und auf der Testumgebung funktioniert es, beim Anwender nicht, die Datei wurde auch für den angegebenen Pfad hinterlegt.

Grüße
Attachments
private Nachricht | Beiträge des Benutzers
123thomas
myCSharp.de - Member



Dabei seit:
Beiträge: 124

beantworten | zitieren | melden

Wahrscheinlich ist der Anwender in einem anderen Netzwerk.
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

beantworten | zitieren | melden

Aber wie kann er dann die Datei für den Pfad hinterlegen?
private Nachricht | Beiträge des Benutzers
123thomas
myCSharp.de - Member



Dabei seit:
Beiträge: 124

beantworten | zitieren | melden

Das verstehe ich nicht.

Ist der Datei Fest hinterlegt?
Wird der Dateipfad vom Programm gesucht?
Wird die Datei vom Benutzer ausgewählt?

Ein paar Infos und der Teil des Programmcode wäre nicht schlecht sonst kann man nur die Glaskugel bemühen.
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

beantworten | zitieren | melden

Sorry.

Also der Benutzer wählt eine Datei von seinem Computer aus, diese wird dann dem oben angegebenen Pfad hinterlegt, danach wird die mit Name und Icon in einer Tabelle angezeigt und kann ggf. aufgerufen werden.

Dim Benutzer As String = System.Environment.UserName

        Try

            If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "") Then

                ' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '

                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons")
                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Icons\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp")

                System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "")

            End If

            If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "") Then

                ' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '

                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files")
                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Files\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp")

                System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "")

            End If

        Catch ex As Exception
            Fehlerbehandlung = New Fehlerbehandlung()
            Fehlerbehandlung.Fehlermeldung = ex
            Fehlerbehandlung.ShowDialog()
        End Try

        Try

            Using OpenFileDialog As New System.Windows.Forms.OpenFileDialog

                If OpenFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

                    ' --- interne Variablen Deklaration --- '

                    Dim FileInfo As New System.IO.FileInfo(OpenFileDialog.FileName)

                    Dim _Info As System.IO.FileInfo

                    ' --- Dient der Prüfung ob die Datei bereits in der Tabelle hinterlegt ist --- '

                    Dim eFile As Boolean = False

                    ' --- Prüfung ob die Datei bereits im Verzeichnis hinterlegt ist --- '

                    For Each File As String In My.Computer.FileSystem.GetFiles(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\")

                        Dim Info As New System.IO.FileInfo(File)

                        If FileInfo.Name = Info.Name Then

                            eFile = True

                            _Info = Info

                            Exit For

                        End If

                    Next

                    If eFile = True Then

                        ' --- Die Datei exisitert bereits unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '

                        FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & _Info.Name & "", True)

                        eFile = False

                        ' --- Prüfe ob die Datei bereits in der Liste existiert --- '

                        For Each File As System.Data.DataRow In ViewModel.Dateiname.Rows

                            If File.Item("Name") = FileInfo.Name Then

                                eFile = True

                                Exit For

                            End If

                        Next

                        If eFile = False Then

                            Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow

                            DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")

                            DataRow.Item("Name") = FileInfo.Name

                            DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name

                            ViewModel.Dateiname.Rows.Add(DataRow)

                        End If


                    Else

                        ' --- Die Datei existiert noch nicht unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '

                        FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        FileInfo = New System.IO.FileInfo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow

                        DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")

                        DataRow.Item("Name") = FileInfo.Name

                        Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
                        Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name

                        ViewModel.Dateiname.Rows.Add(DataRow)

                    End If

                End If

            End Using

            If ViewModel.StatusID = 1 Or ViewModel.StatusID = 2 Then

                If check_Pflichtfelder() Then If ViewModel.Einordnung.Rows(ViewModel.Einordnung_SelectedIndex).Item("Einordnung") <> "Ohne Folge" Then ViewModel.StatusID = 2

            End If

        Catch ex As Exception
            Fehlerbehandlung = New Fehlerbehandlung()
            Fehlerbehandlung.Fehlermeldung = ex
            Fehlerbehandlung.ShowDialog()
        End Try
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

beantworten | zitieren | melden

Hallo :

Der Teil knallt :

                        Try
                            Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
                            Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                            DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name
                        Catch ex As Exception

                        End Try
Attachments
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

beantworten | zitieren | melden

Es liegt am Netzwerkpfad.
private Nachricht | Beiträge des Benutzers
PottKafe
myCSharp.de - Member



Dabei seit:
Beiträge: 19
Herkunft: NRW

beantworten | zitieren | melden

Hi _Cashisclay,

Vielleicht hat der Anwender die rechte auf den Pfad zuzugreifen nicht.

Wenn etwas mit dem Pfad nicht stimmt könnte der Microsoft Artikel zum Thema Microsoft Pfade helfen.
private Nachricht | Beiträge des Benutzers
Lando
myCSharp.de - Member

Avatar #avatar-3452.jpg


Dabei seit:
Beiträge: 74

beantworten | zitieren | melden

Der Dateipfad darf kein UNC-Pfad sein: https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Icon.cs,255. Steht auch so in der Doku.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Lando am .
private Nachricht | Beiträge des Benutzers