Shared Drive i UNC

Shared Drive i UNC
Krzysztof Pe
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:78
0

Witam,

Napisałem aplikację która ma wysyłać maila z załącznikiem. Załącznik znajduję się na shared drive i nijak nie mogę się do niego dobrać. Próbowałem podać pełną ścieżkę jako \server\share\filepath ale dalej nic. Logowany błąd to ścieżka C://Windows/System32/server/share/filepath (może być jakaś literówka). Czy ktoś robił coś takiego (na pewno robił tylko czy zobaczy temat :P ) i może pomóc? Z góry dziękuję.

Pozdrawiam

BA
Ścieżki UNC zaczynają się podwójnym ukośnikiem. Jeżeli to nie to to zobaczy czy zadziała ci zamapowanie dysku na literę.
Krzysztof Pe
Podwójny ukośnik nic nie daje. Jak mam zmapować dysk na literę? Dysk jest już zmapowany na literę F i taka ścieżka też nie działa. Pozdrawiam
BA
Pokaż kod. Masz odpowiednie prawa dostępu do tego katalogu? Jeżeli tak to czy jesteś w stanie zalogować błąd w dostępie do pliku od strony maszyny, która to udostępnia?
Krzysztof Pe
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:78
0

@baroo:
Ad. 1. Co masz na myśli przez prawa dostępu? Do dysku mam dostęp przez windows explorer bez żadnego logowania. Aplikacja jest uruchamia przez windows schedulera na domyślnym koncie systemowym, więc zakładam, że ma takie same uprawnienia jak ja przez windows explorer.
Ad. 2. Nie bardzo wiem jak mógłbym taki błąd zalogować? Błąd który loguje moja aplikacja przy próbie dostępu do pliku to “The given path's format is not supported.”
Ad. 3. Kod to nie jest żadne "rocket science" po prostu zwykłe dołączanie attachmentu

    public void SendEmail(EmailModel emailModel, string fileAttachment)

            var remote = @"\\server\share\";
            var fileAttachmentPath = remote + fileAttachment; (w tym miejscu próbowałem róznych sposobów łączenia ścieżek m.in. Path.Combine)
            Attachment attachment = new Attachment(fileAttachmentPath);
            mail.Attachments.Add(attachment);

Gdzie fileAttachment to ścieżka do pliku podana jako F://folder/plik (shared drive jest własnie zmapowany do litery F).

Pozdrawiam

edytowany 1x, ostatnio: Krzysztof Pe
BA
Nie wiem, może czegoś nie rozumiem z twojego opisuj, ale fileAttachmentPath, który tu podajesz da w rezultacie "\server\shareF://folder/plik" i to na pewno jest niepoprawne.
Krzysztof Pe
Zgadza się, to jest ostatnia implementacja której próbowałem (tonący brzytwy się chwyta :P). Wcześniej próbowałem innych opcji jak "\server\share\folder\file", "F://folder/file". W przypadku próby dostępu przez "F://folder/file" logowało mi błąd, że nie ścieżka "C://Windows/System32/F://folder/file" jest niepoprawna. Jakaś zmienna środowiskowa chyba ustawia w tym przypadku "C://Windows/System32/" jako domyślny początek ścieżki. Nie wiem i dlatego pytam. Ktoś, coś?
BA
Poprawne sposoby to: \server\katalog\plik lub przy zamapowaniu udziału do litery: F:\katalog\plik
Krzysztof Pe
No i nie działa w ten sposób. Przy podaniu ścieżki do pliku F:\katalog\plik aplikacja loguję błąd, że ścieżka C:\Windows\System32\F:\katalog\plik jest niepoprawna.
BA
Ale skąd ci się bierze to "C:\Windows\System32" w C:\Windows\System32\F:\katalog\plik ?
Krzysztof Pe
Właśnie to jest pytanie z którym tu przyszedłem :p Jak dla mnie to podanie ścieżki F:\katalog\plik powinno załatwiać sprawę, a jednak tak nie jest.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.