summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam X. Chen <sam.xi.chen@gmail.com>2019-10-11 11:56:44 -0400
committerSam X. Chen <sam.xi.chen@gmail.com>2019-10-11 11:56:44 -0400
commit2737d6b23f3a0fd2314236a85fbdee536df745a2 (patch)
tree64007f1e21c052ff05b33d55074410685f551466
parentf53c624b0f6c6ebcc20c378a153e5cda8d73463c (diff)
downloadwekan-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.js9
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);