首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为上传的图像随机生成唯一的id

为上传的图像随机生成唯一的id
EN

Stack Overflow用户
提问于 2015-09-10 11:27:48
回答 2查看 1.8K关注 0票数 0

我想为上传的图像生成带有文件名的随机id。

我的代码是

代码语言:javascript
复制
var getUniqueMacroName = function(filename){
    var Name = $.trim(filename.replace(/.[^.]+$/,'').replace(/ /g, "").replace(/[^\w]|_/g, "").toUpperCase());
    var Ext = $.trim(filename.replace(/^.*\./,'').toUpperCase());
    var mac= _.map($("#data").DataTable().data(), function(a){return a[0]});

    var fileRand = Name.substring(0, (10 - fileExt.length));

    while(_.contains(mac, ("GM" + fileRand + fileExt))){
        var rand = Math.min(Math.floor((Math.random() * fileRand.length) + 5), (fileRand.length - 1));
        fileRand =  (fileRand.substring(0, rand) + rand + fileRand.substring(rand, fileRand.length)).substring(0, (10 - Ext.length));
    }
    return "GM" + fileRand + Ext;
}

如果我上传这些图片

  1. 画廊图片320 1.jpg
  2. 画廊图片320 2.jpg
  3. 画廊图片320 3.jpg
  4. 画廊图片320 4.jpg
  5. 画廊图片320 5.jpg
  6. 画廊图片320 6.jpg

第六个映像是执行无限次的,而当上传的图像名几乎有condition.This时,浏览器将不会响应。

是否有任何方法为javascript或jquery中的任何类型的文件名(包括相同的文件名)生成唯一的id。

EN

回答 2

Stack Overflow用户

发布于 2015-09-10 11:50:33

编辑的用户建议有用的答案;

是的,您可以使用TimeStamp作为Date.now()的唯一ID;它生成毫秒,并且它们总是唯一的;

now()方法以数字的形式返回自1970年1月1日00:00:00 :00 UTC到现在为止经过的毫秒。

代码语言:javascript
复制
var getUniqueMacroName = function(filename){
    var Name = $.trim(filename.replace(/.[^.]+$/,'').replace(/ /g, "").replace(/[^\w]|_/g, "").toUpperCase());
    var Ext = $.trim(filename.replace(/^.*\./,'').toUpperCase());
    var mac= _.map($("#data").DataTable().data(), function(a){return a[0]});
    // dont need anymore control unique
    var fileRand = Date.getTime();
    fileRand = fileRand.substr(fileRand.length - 10);
    return "GM" + fileRand + Ext;
}
票数 0
EN

Stack Overflow用户

发布于 2015-09-11 06:35:33

如果你生成一个更长的“随机”数字,你的方法就能奏效吗?

代码语言:javascript
复制
var random = Math.random()*100000000000000000;  // e.g. 6137274974025786
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32500652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档