2016-07-20 1 views
0

Я хочу создать файл в указанный каталог с уникальным идентификатором, Любая идея, что реализовано неправильно в нижнем коде. Две вещи здесь ..Как создать файл с уникальным идентификатором с помощью nodejs?

1 - Не генерировать файлы в определенный каталог records, как я могу создать файл в конкретном каталоге?

2- Использование узла uuid, как я могу создать уникальный идентификатор для каждого создаваемого файла?

logs.js

var uuid = require('node-uuid'); 
var fs = require('fs'); 
var path = './app/records' 
var filename = 'server' + uuid.v4() + '.txt' 
var userLogs = function (data) { 
    fs.writeFile(path,filename,data,function() { 
     console.log(filename); 
    }); 
    console.log('userLogs', data); 
}; 
module.exports = userLogs; 

выходные имена файлов имеют одинаковый идентификатор в

userLogs [ 'Test Log messages' ] 
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt 
userLogs [ 'Test Log messages' ] 
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt 
info: Test Log messages 
from console Test Log messages 
userLogs [ 'Test Log messages', 'Test Log messages' ] 
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt 
+0

Вы только генерируете uuid один раз. вы создаете его и назначаете его «var filename», поэтому он всегда будет таким же. Вы можете использовать цикл 'for' для генерации нового uuid и записи в файл. Также вы можете показать каталоги папок или дерево папок? –

+1

мои каталоги> приложение> записи, где я пытаюсь написать файл – hussain

+0

да, но каков полный каталог вашего проекта. например, где logs.js? –

ответ

1
var path = '/absolute/path/to/records' 
var userLogs = function (data) { 
var filename = 'server' + uuid.v4() + '.txt'; 
    fs.writeFile(path,filename,data,function() { 
     console.log(filename); 
    }); 
    console.log('userLogs', data); 
}; 

Declare имя файла в качестве локальной переменной внутри функции userLogs. Таким образом, каждый раз, когда он вызывается, функция uuid вызывается снова.

+0

Это позволило решить одну проблему uuid, но он все еще не создает файл в каталоге 'records'. – hussain

+0

Спасибо за помощь, она решила проблемы! – hussain

Смежные вопросы