diff options
author | Sam X. Chen <sam.xi.chen@gmail.com> | 2019-10-11 11:56:44 -0400 |
---|---|---|
committer | Sam X. Chen <sam.xi.chen@gmail.com> | 2019-10-11 11:56:44 -0400 |
commit | 2737d6b23f3a0fd2314236a85fbdee536df745a2 (patch) | |
tree | 64007f1e21c052ff05b33d55074410685f551466 | |
parent | f53c624b0f6c6ebcc20c378a153e5cda8d73463c (diff) | |
download | wekan-2737d6b23f3a0fd2314236a85fbdee536df745a2.tar.gz wekan-2737d6b23f3a0fd2314236a85fbdee536df745a2.tar.bz2 wekan-2737d6b23f3a0fd2314236a85fbdee536df745a2.zip |
Bug Fix:2093, need to clean up the temporary file
-rw-r--r-- | models/export.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/models/export.js b/models/export.js index 3f4c8590..5d356487 100644 --- a/models/export.js +++ b/models/export.js @@ -140,9 +140,11 @@ export class Exporter { const getBase64Data = function(doc, callback) { let buffer = new Buffer(0); // callback has the form function (err, res) {} - const tmpWriteable = fs.createWriteStream( - path.join(os.tmpdir(), `tmpexport${process.pid}`), + const tmpFile = path.join( + os.tmpdir(), + `tmpexport${process.pid}${Math.radom()}`, ); + const tmpWriteable = fs.createWriteStream(tmpFile); const readStream = doc.createReadStream(); readStream.on('data', function(chunk) { buffer = Buffer.concat([buffer, chunk]); @@ -152,6 +154,9 @@ export class Exporter { }); readStream.on('end', function() { // done + fs.unlink(tmpFile, () => { + //ignored + }); callback(null, buffer.toString('base64')); }); readStream.pipe(tmpWriteable); |