2016-07-20 3 views
0

고유 ID로 지정된 디렉토리에 파일을 만들고 싶습니다. 아래 코드에서 무엇이 잘못 구현되었는지 알 수 있습니다. 여기 두 가지가 있습니다.nodejs를 사용하여 고유 한 ID로 파일을 만드는 방법은 무엇입니까?

1- 특정 디렉토리에 파일을 생성하지 않는 경우 records, 어떻게 특정 디렉토리에 파일을 만들 수 있습니까?

2- 노드 uuid를 사용하여 어떻게 생성되는 각 파일에 대해 고유 ID를 만들 수 있습니까?

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 함수 내부 로컬 변수와 동일 ID의

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); 
}; 

선언 파일명을 갖는다. 이렇게하면 호출 될 때마다 uuid 함수가 다시 호출됩니다.

+0

uuid, 하지만 여전히 '레코드'디렉토리에 파일을 만들지 않습니다. – hussain

+0

도움을 주셔서 감사합니다. 문제가 해결되었습니다. – hussain

관련 문제