기본 콘텐츠로 건너뛰기

라벨이 process인 게시물 표시

node.js 에서 system call을 사용하는 방법

cloud9 을 사용해서 작업하고 있는데 업로드는 드래그&드랍으로 훌륭하게 지원하는 반면 다운로드를 지원하지 않아 조금 아쉽다. child_process 패키지를 사용하여 폴더를 전체를 압축한 다음 내려주자. http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options spawn을 사용해서 만들었다. 대충 express 를 통해 파일을 만들고 route/index.js 를 다음과 같이 해보았다. /*  * GET home page.  */ var spawn=require('child_process').spawn; var fs=require('fs'); exports.index = function(req, res) { var zip=spawn('zip',['-r', 'archive.zip', '.', '-i', '*']); zip.stdout.on('data', function (data) { console.log('stderr: ' + data); }); zip.stderr.on('data', function (data) { console.log('stderr: ' + data); }); zip.on('exit', function() { res.setHeader('Content-type', 'application/octet-stream') res.setHeader('Content-disposition', 'attachment; filename=archive.zip'); res.write(fs.readFileSync(__dir...