Eri*_*rik 12 file-upload uniqueidentifier node.js
我需要通过简短的唯一标识符来命名上传的文件nYrnfYEv
a4vhAoFG
hwX6aOr7
.我怎样才能确保文件的唯一性?
Ita*_*Ale 17
(发表我的评论作为答案,回答您的疑虑)
您可能想要查看shortid NPM模块,它生成短ID(令人震惊,我知道:))类似于您发布的示例.结果是可配置的,但默认情况下它是一个7到14个字符之间的字符串(长度也是随机的),所有URL友好(A-Za-z0-9\_\-
在正则表达式中).
回答你(和其他海报')的担忧:
x80*_*486 13
一种选择可以是生成唯一标识符(UUID)并相应地重命名文件.
看看kelektiv/node-uuid
npm模块.
例:
$ npm install uuid
Run Code Online (Sandbox Code Playgroud)
...然后在你的JavaScript文件中:
const uuidv4 = require('uuid/v4'); // I chose v4 ? you can select others
var filename = uuidv4(); // '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
Run Code Online (Sandbox Code Playgroud)
无论何时你执行,uuidv4()
你都会得到一个非常新鲜的.
注意:还有其他选择/类型的UUID.阅读模块的文档以熟悉它们.
小智 5
非常简单的代码。生成几乎唯一的文件名,或者如果这还不够,您检查文件是否存在
function getRandomFileName() {
var timestamp = new Date().toISOString().replace(/[-:.]/g,"");
var random = ("" + Math.random()).substring(2, 8);
var random_number = timestamp+random;
return random_number;
}
Run Code Online (Sandbox Code Playgroud)
zds*_*asd -5
我认为您可能对真随机和伪随机感到困惑。
伪随机字符串“通常表现出静态随机性,同时是由完全确定性的随机过程生成的”。这意味着,如果您在加密应用程序中使用这些随机值作为熵,则您不想使用伪随机生成器。
然而,对于您的使用,我相信它会很好 - 只需检查潜在的(极不可能的)冲突。
您想要做的就是创建一个随机字符串 - 不确保它 100% 安全且完全随机。
归档时间: |
|
查看次数: |
17927 次 |
最近记录: |