Ich verwende ein FileUploader-Steuerelement in meiner Anwendung. Ich möchte eine Datei in einem bestimmten Ordner speichern. Wenn dieser Ordner nicht vorhanden ist, möchte ich ihn zuerst erstellen und dann meine Datei in diesem Ordner speichern. Wenn der Ordner bereits vorhanden ist, speichern Sie einfach die Datei darin.
Wie kann ich das machen?
Antworten:
Wie andere gesagt haben, verwenden
System.IO.Directory.CreateDirectory
Sie müssen jedoch nicht zuerst prüfen, ob es vorhanden ist. Aus den Dokumenten
quelle
Verwenden Sie den folgenden Code gemäß http://forums.asp.net/p/1226236/2209871.aspx :
quelle
FileExists
Ausnahme (oder was auch immer das C # -Äquivalent ist) abfangen, falls die Funktion eine auslösen soll.Exists
und es entsteht tatsächlich eine neue Fehlerbedingung.System.IO.Directory.CreateDirectory
. (Und es ist schneller, aber wahrscheinlich spielt das keine Rolle)Schreiben Sie einfach diese Zeile:
Referenz: Artikel über Directory.CreateDirectory bei MSDN
Natürlich können Sie auch
using System.IO;
oben in die Quelldatei schreiben und dannDirectory.CreateDirectory("my folder");
jedes Mal schreiben, wenn Sie einen Ordner erstellen möchten.quelle
Directory.CreateDirectory
Erklärt, wie Sie versuchen, den FilePath zu erstellen, falls er nicht vorhanden istDirectory.Exists
Erklärt, wie überprüft wird, ob ein FilePath vorhanden ist. Sie benötigen dies jedoch nicht, da CreateDirectory nach Ihnen sucht.quelle
Sie können den Pfad, falls er noch nicht vorhanden ist, mit einer Methode wie der folgenden erstellen:
quelle
if (!folderExists)
ist nicht erforderlich.FileExists
Ausnahme auslösen (oder wie auch immer es in C # heißt)Diese Methode erstellt einen Ordner, wenn er nicht vorhanden ist, und führt nichts aus, wenn er vorhanden ist
quelle
Sie können eine try / catch-Klausel verwenden und prüfen, ob sie vorhanden ist:
quelle
quelle
quelle
Der folgende Code ist die beste (n) Codezeile (n), die ich verwende, um ein Verzeichnis zu erstellen, wenn es nicht vorhanden ist.
Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, sondern gibt ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück. >
quelle
Erstellen Sie einen neuen Ordner mit dem Pfad eines übergeordneten Ordners:
quelle
Verwenden Sie den folgenden Code. Ich habe diesen Code zum Kopieren von Dateien und zum Erstellen eines neuen Ordners verwendet.
quelle
quelle
Verwenden Sie diesen Code, wenn der Ordner nicht unter dem Bildordner oder anderen Ordnern angezeigt wird
quelle
Eine ausgefallene Möglichkeit besteht darin, die
FileUpload
mit der gewünschten Methode zu erweitern .Füge das hinzu:
Dann benutze es:
quelle
Das CreateDirectory wird auch zum Erstellen eines Unterverzeichnisses verwendet. Sie müssen lediglich den Pfad des Verzeichnisses angeben, in dem dieses Unterverzeichnis erstellt wird. Mit dem folgenden Codeausschnitt wird ein Mahesh-Unterverzeichnis erstellt
C:\Temp directory
.quelle
Aus mehreren Antworten abgeleitet / kombiniert, war die Implementierung für mich so einfach:
quelle