읽기 스트림에서 읽을 수있는 nodejs의 라이브러리를 사용하고 있습니다. 나는 현재 스트림을 읽고 스트림을 lib에 전달하고있다. 그러나 나는 또한 내가 읽고있는 파일 시스템에 파일을 만들어야한다. 그래서 1 단계는 파일 스트림을 작성하고 데이터를 파일로 스트리밍하는 것입니다.스트림을 읽기 스트림에 쓰기
- 데이터 쓰기 스트림 -----> 파일
- HTTP 응답 < ------ 읽을 스트림 파일
나는이 과정에 대해 좋아하지 않는 것은입니다 I 완료되면 파일 시스템을 정리해야합니다. 읽기 스트림에 직접 쓰고 한 번에 모두 할 수있는 방법이 있습니까?
편집 : (https://github.com/ctalkington/node-archiver 사용) 콘크리트 예 :
// some route
function(req, res, next) {
var archive = archiver('zip');
res.attachment("icons.zip");
archive.pipe(res);
// I have to create files on file system
var stream1 = fs.createWriteStream("file1.txt");
var stream2 = fs.createWriteStream("file2.txt");
...
// all stuff is one streaming to file system
// now stream stuff from file system to archive
archive
.append(fs.createReadStream("file1.txt"), { name: 'file1.txt' })
.append(fs.createReadStream("file2.txt"), { name: 'file2.txt' })
.finalize();
}
내가 먼저 시스템 파일을 스트리밍을 방지하는 방법을 모른다.
편집 :
내가 읽을 수있는 스트림에 쓸 수 :
간단한 질문은 정말입니까?
왜 라이브러리를 http 응답으로 파이프 할 수 없습니까? –
편집을 참조하십시오. – lostintranslation
파일이 아니라면'archive'는 무엇을 보관해야할까요? –