随机生成上传图片的唯一id
randomly generate the unique id for the uploaded uploaded images
我想为上传的图片和它们的文件名生成随机id。
我的代码是
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;
}
如果我上传像
这样的图片图库图像320 .jpg
图库图像320 .jpg
图库图像320 .jpg
图库图像320 4.jpg
图库图像320 .jpg
图库图像320 .jpg
第六张图像在while条件下执行无限次。这将发生当上传的图像名称有几乎相同。因此浏览器将不响应。
在javascript或jquery中是否有任何方法可以为任何类型的文件名(包括相同的文件名)生成唯一的id ?
由用户建议编辑有用的答案;
是的,你可以使用TimeStamp作为唯一的ID与Date.now()
;它生成毫秒,它们总是唯一的;
now()方法返回从UTC时间1970年1月1日00:00:00到现在所经过的毫秒数。
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;
}
你的方法可以工作,如果你产生一个更长的'随机'数?
var random = Math.random()*100000000000000000; // e.g. 6137274974025786
相关文章:
- 正在为循环创建唯一id
- 在JavaScript中创建全局唯一ID
- 为dropdownlistfor(MVC)中的每个元素设置唯一id
- 向具有唯一Id的表添加/删除行
- 基于唯一ID合并geojson
- 如何为使用 jQuery 动态生成的按钮提供唯一 ID
- 类似系统:循环形成唯一id,得到这些id'使用jQuery/Javascript单独发布
- Knockout.js中使用的唯一ID;对于“;单选按钮组中的标签属性
- 在所有页面中搜索<身体>具有唯一ID
- 如何从多个唯一id中获取值
- 为客户端和服务器上的对象生成唯一 ID
- 如何使用jQuery创建具有唯一ID的可重复表
- 在 Firebase 中通过对象的唯一 id 查找对象
- 如何将唯一 ID 添加到 Javascript 中动态创建的输入字段
- 页面上第二个表单所需的唯一 id 属性
- 克隆并附加唯一 ID 后找不到 DOM 元素
- 如何在 append() 上添加具有唯一 id 的编辑按钮
- Chrome 标签页的永久唯一 ID,在浏览器会话之间持续存在
- 跨多个客户端和服务器生成真正的全局唯一 ID
- 如何通过 php 中的唯一 ID 删除 Json