Używam kontrolki FileUploader w mojej aplikacji. Chcę zapisać plik w określonym folderze. Teraz chcę, jeśli ten folder nie istnieje, najpierw go utworzyć, a następnie zapisać mój plik w tym folderze. Jeśli folder już istnieje, po prostu zapisz w nim plik.
Jak mogę to zrobić?
Odpowiedzi:
Jak powiedzieli inni, użyj
System.IO.Directory.CreateDirectory
Ale nie musisz sprawdzać, czy najpierw istnieje. Z dokumentów
źródło
Użyj poniższego kodu zgodnie z http://forums.asp.net/p/1226236/2209871.aspx :
źródło
FileExists
wyjątek (lub inny odpowiednik C #) w przypadku, gdy funkcja ma go wyrzucić.Exists
i faktycznie tworzy nowy stan awarii.System.IO.Directory.CreateDirectory
. (I to jest szybsze, ale prawdopodobnie to nie ma znaczenia)Po prostu napisz ten wiersz:
Odniesienie: Artykuł o Directory.CreateDirectory w MSDN
Oczywiście możesz także pisać
using System.IO;
u góry pliku źródłowego, a następnie po prostu pisać zaDirectory.CreateDirectory("my folder");
każdym razem, gdy chcesz utworzyć folder.źródło
Directory.CreateDirectory
Wyjaśnia, jak spróbować utworzyć ścieżkę pliku, jeśli nie istniejeDirectory.Exists
Wyjaśnia, jak sprawdzić, czy istnieje ścieżka pliku. Nie potrzebujesz tego jednak, ponieważ CreateDirectory sprawdzi, czy nie.źródło
Możesz utworzyć ścieżkę, jeśli jeszcze nie istnieje, za pomocą metody takiej jak poniżej:
źródło
if (!folderExists)
nie jest potrzebny.FileExists
wyjątek (lub jakkolwiek to się nazywa w języku C #)Ta metoda utworzy folder, jeśli nie istnieje i nic nie zrobi, jeśli istnieje
źródło
Możesz użyć klauzuli try / catch i sprawdzić, czy istnieje:
źródło
źródło
źródło
Poniższy kod jest najlepszym wierszem kodu, którego używam, który utworzy katalog, jeśli nie jest obecny.
Jeśli katalog już istnieje, ta metoda nie tworzy nowego katalogu, ale zwraca obiekt DirectoryInfo dla istniejącego katalogu. >
źródło
Oto odpowiedź, której szukałem, ale nie znalazłem łatwo:
źródło
Użyj poniższego kodu. Użyłem tego kodu do kopiowania plików i utworzenia nowego folderu.
źródło
źródło
Użyj tego kodu, jeśli folder nie jest wyświetlany w folderze obrazów lub innych folderach
źródło
Fantazyjnym sposobem jest rozszerzenie
FileUpload
tej metody, którą chcesz.Dodaj:
Następnie użyj go:
źródło
CreateDirectory służy również do utworzenia podkatalogu. Wszystko, co musisz zrobić, to podać ścieżkę do katalogu, w którym zostanie utworzony ten podkatalog. Poniższy fragment kodu tworzy podkatalog Mahesh
C:\Temp directory
.źródło
Pochodzenie / łączenie z wielu odpowiedzi, wdrożenie go było dla mnie tak proste, jak to:
źródło