我正在开发一个应用程序,用户可以在其中发布图片。因此,我想确保每次图片都获得唯一的名称。在PHP中,我使用timestamp与userId串联。但是在node.js中,我没有获得将时间戳转换为字符串的方法。因此,请提出一种确保我的文件不会出现重复名称的方法。
解决方案之一是使用UUID作为文件名。但这当然取决于您的应用程序要求或约束(命名约定等)。但是,如果可以接受将UUID作为文件名,则我建议使用node-uuid
库(非常易于使用!)。
样例代码:
var uuidv4 = require('uuid/v4');
var filename = uuidv4() + '.png'
将UUID用作唯一标识符是安全的。您可以在SO上找到更多信息,例如UUID有多独特?
另一种解决方案(要求名称唯一性)是使用另一个node.js库:flake-idgen,它根据当前时间戳生成无冲突的ID。该解决方案可保证唯一编号。
该解决方案也非常有效,每个生成器最多可以在毫秒内生成4096个id(最多可以有1024个唯一生成器)。
我希望这会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句