Ich entwickle eine App, in der Nutzer Bilder posten können. So möchte ich sicherstellen, dass jedes Mal das Bild einen eindeutigen Namen bekommt. In PHP verwende ich Zeitstempel mit userId verketten. Aber in node.js bekomme ich nicht die Methode, Timestamp in String zu konvertieren. Also schlagen Sie bitte einen Weg vor, um sicherzustellen, dass meine Dateien keine doppelten Namen erhalten.
Eine der Lösungen wäre die Verwendung von UUID für einen Dateinamen. Das hängt natürlich von Ihren Anforderungen oder Einschränkungen Ihrer Anwendung ab (Namenskonvention usw.). Wenn UUID als Dateiname akzeptiert wird, empfehle ich jedoch die node-uuid
-Bibliothek (sehr einfach zu verwenden!) .
Beispielcode:
%Vor%Es ist sicher, UUID als eindeutigen Bezeichner zu verwenden. Sie können mehr dazu auf SO finden, z.B. Wie einzigartig ist UUID?
Alternative Lösung (wenn Namenseindeutigkeit eine Voraussetzung ist) wäre die Verwendung einer anderen node.js-Bibliothek: flake-idgen , die konfliktfreie IDs basierend auf dem aktuellen Zeitstempel generiert. Diese Lösung garantiert einzigartige Zahlen.
Die Lösung ist auch sehr effizient, erlaubt bis zu 4096 Ids in einer Millisekunde pro Generator (Sie können bis zu 1024 einzigartige Generatoren haben).
Ich hoffe, das wird helfen.
Wenn Sie Zeitstempel uuid verwenden möchten, verwenden Sie dies
%Vor%Tags und Links node.js