Javascript 在每个事件之后创建目录
我试图在每次按钮点击事件后创建一个目录。 这只工作到10个目录 然后我得到了这个错误: 我能做些什么来解决这个问题?我想创建n个目录 谢谢你的帮助。 马丘问题在于排序 你会有目录Javascript 在每个事件之后创建目录,javascript,node.js,file,Javascript,Node.js,File,我试图在每次按钮点击事件后创建一个目录。 这只工作到10个目录 然后我得到了这个错误: 我能做些什么来解决这个问题?我想创建n个目录 谢谢你的帮助。 马丘问题在于排序 你会有目录 _一, _二, _九, 加上第10个字母,按字母顺序或词法顺序 _一, _十, _二, _九, 最后一个文件夹是\u9。。。9 + 1 = 10 ... 那已经存在了 您可以将代码更改为 } else { var valInt = Math.max.apply(null, fileV
- _一,
- _二,
- _九,
- _一,
- _十,
- _二,
- _九,
\u9
。。。9 + 1 = 10 ... 那已经存在了
您可以将代码更改为
} else {
var valInt = Math.max.apply(null, fileVal.map(function(entry) {
return parseInt(entry.split("_").pop(), 10);
})) + 1;
fs.mkdirSync(pathDirectory + '_' + valInt);
}
这会将Math.max应用于将fileVal条目映射到每个fileVal条目最后一部分的parseInt的结果,这些条目由“quot”分割。ok,现在应该是正确的了!啊,好吧,那我该把它分类了!我会试试这个。如果你对它排序,你会有
\u1
,\u10
,\u2
<代码>\u 9。。。所以不,排序是问题的根源-按创建时间排序将在99%的时间内有效,未排序也应在99%的时间内有效。。。最好的方法是循环查找最高值OK!任何关于如何做到这一点的建议。“文件”是一个数组。我添加了一个建议
Error: EEXIST: file already exists, mkdir 'user/public/uploadGallery/5612cfea107f9e0f356b3dee_10'
app.post('/createDirectories', function(req, res) {
var id = '5612cfea107f9e0f356b3dee';
var pathDirectory = __dirname + '/public/uploadGallery/' + id;
fs.readdir(__dirname + '/public/uploadGallery/', function (err, files) {
var countVal = files.filter(junk.not).length;
var fileVal = files.filter(junk.not);
if(countVal == '0'){
fs.mkdirSync(pathDirectory + '_' + 1);
console.log("Directory created: " + pathDirectory + '_' + 1);
}else{
var lastElem = fileVal[fileVal.length-1];
var lastElemSplitValue = lastElem.split("_")[1];
var valInt = parseInt(lastElemSplitValue, 10) +1;
fs.mkdirSync(pathDirectory + '_' + valInt);
}
});
});
} else {
var valInt = Math.max.apply(null, fileVal.map(function(entry) {
return parseInt(entry.split("_").pop(), 10);
})) + 1;
fs.mkdirSync(pathDirectory + '_' + valInt);
}