Dies ist eine integrierte Methode Path.GetRandomFileName
. Es gibt einen zufälligen Ordnernamen oder Dateinamen zurück.
Die GetRandomFileName-Methode gibt a zurück kryptographisch stark, zufällig Zeichenfolge, die entweder als a verwendet werden kann Ordnername oder ein Dateiname. nicht wie GetTempFileName, GetRandomFileName erstellt keine Datei. Wenn das Sicherheit Ihres Dateisystems ist Oberst sollte diese Methode verwendet werden anstelle von GetTempFileName.
Wenn Sie Ihre Erweiterung verwenden möchten (z. B. .jpg
anstelle von generated), können Sie eine andere Hilfsmethode verwenden Path.ChangeExtension
:
System.IO.Path.GetRandomFileName erhält einen Dateinamen, der garantiert eindeutig ist.
Um Bilder zu speichern, können Sie einfach eine GUID als Dateinamen verwenden:
%Vor% Ich mache es immer so, wenn ich eine andere Dateierweiterung als .tmp brauche (welche Dateien bekommen, wenn Sie sie über GetTempFileName erstellen).
Natürlich könnten Sie die Dateien über GetTempFileName erstellen und sie dann umbenennen, aber dann müssen Sie erneut überprüfen, ob eine Datei mit dem neuen Namen existiert ...
Sie könnten es mit der aktuellen Zeit erstellen.
%Vor% Im obigen Beispiel wird die aktuelle Uhrzeit mit Jahr, Monat, Tag, Stunden, Minuten, Sekunden und Sekundenbruchteilen formatiert. (Der Bruchteil einer Sekunde kann mit weniger f
s angegeben werden, wenn Sie es auf eins reduzieren möchten.).
Ich würde auch mit der GUID-Lösung gehen.
Hier ein Code, den ich regelmäßig verwenden würde:
%Vor%Bietet Ihnen eine gute, wiederverwendbare Lösung. Setzen Sie dies in Ihre "Sammlung meiner größten Momente" - classlibrary und Sie sind gut zu gehen.
Ich würde mit Ehrfurcht gehen . Verwenden Sie den ursprünglichen Dateinamen + DateTime.Now.ToString("yyyyMMddHHmmssffff");
.