Sto sviluppando un'applicazione in cui gli utenti possono pubblicare foto. Quindi voglio assicurarmi che ogni volta che la foto abbia un nome univoco. In PHP io uso per concatenare data e ora con userId. Ma in node.js non sto ottenendo il metodo per convertire il timestamp in stringa. Quindi, suggerisci gentilmente un modo per assicurarti che i miei file non abbiano nomi duplicati.Assegnare nomi univoci ai file durante il caricamento
risposta
Una delle soluzioni potrebbe essere quella di utilizzare UUID per un nome di file. Ma ciò dipende ovviamente dai requisiti o dai vincoli delle applicazioni (convenzione di denominazione ecc.). Tuttavia, se UUID come nome di file sarebbe accettabile, ti consiglio di usare la libreria node-uuid
(molto facile da usare!).
codice di esempio:
var uuidv4 = require('uuid/v4');
var filename = uuidv4() + '.png'
E 'sicuro da usare UUID come un identificativo univoco. Puoi trovare ulteriori informazioni su SO ad es. How unique is UUID?
soluzione alternativa (dove nome unicità è un requisito) sarebbe quella di utilizzare un'altra libreria node.js: flake-idgen che genera ids senza conflitti in base al timestamp corrente. Questa soluzione garantisce numeri unici.
La soluzione è anche molto efficiente, consente di generare fino a 4096 ID in un millisecondo per generatore (è possibile avere fino a 1024 generatori unici).
Spero che possa essere d'aiuto.
In nodo:
timestamp = new Date().getTime().toString();
Ciò restituisce qualcosa del tipo: '1499264027973' –
Se si desidera utilizzare l'uso timestamp di uuid questo
var uuid = require('uuid');
// Generate a v1 (time-based) id
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
// Generate a v4 (random) id
uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
- 1. Applicare nomi di file di caricamento univoci utilizzando django?
- 2. caricare immagini tramite php utilizzando nomi di file univoci
- 3. php Nome file univoco durante il caricamento
- 4. Actionscript 3: caricamento dinamico di file ai?
- 5. $ _FILES vuota durante il caricamento
- 6. come assegnare un nome personalizzato ai file di output hadoop
- 7. sovrascrive il file precedente durante il caricamento dell'immagine nel codeigniter
- 8. Problemi di caricamento del file PHP durante il caricamento di file "più grandi" (oltre 2 MB)
- 9. Accesso ai nomi delle colonne lapply
- 10. "errore durante il caricamento manipolatore"
- 11. Come verificare la dimensione del file durante il caricamento
- 12. Risoluzione percorsi relativi durante il caricamento di file XSLT
- 13. Errore durante il caricamento di un file utilizzando Retrofit 2
- 14. "Posizione richiesta" eccezione durante il caricamento del file FXML
- 15. UnicodeEncodeError durante il caricamento di file nell'amministratore di Django
- 16. errore dojo.io.iframe durante il caricamento di un file
- 17. Wordpress: "Errore HTTP". Durante il caricamento dei file
- 18. proprietà-maven-plugin: Errore durante il caricamento delle proprietà-file
- 19. CSRF non riuscita durante il caricamento del file attraverso spavalderia
- 20. Timeout durante il caricamento di un file di grandi dimensioni?
- 21. OSError durante il caricamento di file su un NFS
- 22. Errore recupero API e multer durante il caricamento del file
- 23. Android Market - errore durante il caricamento del file APK
- 24. Impossibile ottenere l'indirizzo completo durante il caricamento di un file
- 25. ClientAbortException: java.io.IOException durante il caricamento di file di grandi dimensioni
- 26. Google App Engine bulkloader apre file vuoto durante il caricamento
- 27. Ottenere il progresso del caricamento durante il caricamento di file utilizzando Webclient.Uploadfile
- 28. Rinomina immagine durante il caricamento sul server
- 29. Come è possibile assegnare un spazio ai nomi a un pacchetto SystemJS
- 30. Come assegnare dinamicamente i tasti ai pulsanti?
Questo non risponde alla domanda come ottenere un timestamp come una stringa, ma è il modo migliore per generare unica nomi di file. – TheHippo
@TheHippo è vero non ho fornito la risposta per concatenare data e ora con un id utente. Mi sono concentrato su "... suggerire un modo per garantire che i miei file non abbiano nomi duplicati" - approccio diverso che è, come hai detto, migliore alternativa;) Saluti. – Tom