我正在開發一個應用程序,用戶可以在其中發佈圖片。所以我想確保每次圖片獲得唯一的名稱。在PHP中,我使用連接時間戳與userId。但在node.js中,我沒有獲得將時間戳轉換爲字符串的方法。所以請提供一種方法來確保我的文件不會有重複的名稱。上傳文件時爲文件提供唯一名稱
8
A
回答
10
解決的辦法之一是使用UUID一個文件名。但是這當然取決於您的應用程序需求或約束(命名約定等)。但是,如果UUID作爲文件名是可以接受的,我推薦使用node-uuid
庫(非常容易使用!)。
示例代碼:
var uuidv4 = require('uuid/v4');
var filename = uuidv4() + '.png'
它是安全使用UUID作爲唯一標識符。您可以在SO上找到更多信息,例如How unique is UUID?
替代溶液(其中名的唯一性是要求)是使用另一個的node.js庫:flake-idgen,其基於當前的時間戳無衝突標識。該解決方案保證唯一的數字
該解決方案也非常高效,允許每個發生器在一毫秒內生成多達4096個ID(最多可以有1024個唯一的生成器)。
我希望這會有所幫助。
5
在節點:
timestamp = new Date().getTime().toString();
+0
這將返回類似:'1499264027973' –
4
如果你想使用時間戳UUID的使用這種
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. 爲上傳的圖像提供mysqli的唯一名稱
- 2. 上傳後唯一的文件名
- 3. Dropzone文件上傳使用唯一名稱
- 4. 在asp.net上傳文件到唯一的名稱ftp#
- 5. Php上傳的文件唯一名稱問題
- 6. 保存文件夾中帶有唯一名稱的上傳文件
- 7. 文件上傳:文件上傳的URL沒有提供
- 8. 如何在文件名稱相同時管理文件上傳?
- 9. 爲上傳文件創建唯一文件名/位置的策略
- 10. 如何爲上傳的圖片生成唯一的文件名
- 11. 閃亮的R文件上傳爲文件指定名稱
- 12. php文件上傳表單提供null
- 13. AppleScript - 獲取文件夾中唯一文件的名稱?
- 14. 獲取流式上傳時上傳文件的名稱
- 15. 上傳文件:設置「名稱」的值是文件名
- 16. 文件名不顯示上傳文件的名稱
- 17. 使用javascript顯示上傳文件名的文件名稱
- 18. 如何爲Sqoop輸出文件提供自定義名稱
- 19. 通過jQuery,對象上傳文件FormData提供,沒有文件名,GET請求
- 20. cURL文件上傳 - 「沒有文件提供」
- 21. 從文件系統提供上傳文件的問題
- 22. rails helper給上傳文件一個唯一的名字?
- 23. 取文件的名稱/圖片上傳
- 24. Django - 上傳文件 - 更改名稱
- 25. 編碼上傳的文件名稱
- 26. uploadifive - 更改上傳文件的名稱
- 27. 限制上傳文件的名稱
- 28. Java - 以不同名稱上傳文件
- 29. 清理上傳文件的名稱
- 30. 如何處理文件上傳名稱
這不回答這個問題如何得到時間戳作爲字符串,但對於產生獨特的方式更好文件名稱。 – TheHippo
@TheHippo這是真的我沒有提供答案連接時間戳與用戶ID。我專注於......建議一種方法來確保我的文件不會出現重複的名稱 - 正如您所說,這是另一種更好的替代方法;)關心。 – Tom