Skip to content

Commit d8c00c5

Browse files
committed
Add empty files support for tempFileHandler
1 parent b24233d commit d8c00c5

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

lib/tempFileHandler.js

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,23 @@ module.exports = (options, fieldname, filename) => {
1818
const hash = crypto.createHash('md5');
1919
let fileSize = 0;
2020
let completed = false;
21-
22-
let writeStream = false;
23-
let writePromise = Promise.resolve();
2421

25-
const createWriteStream = () => {
26-
debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
27-
writeStream = fs.createWriteStream(tempFilePath);
28-
writePromise = new Promise((resolve, reject) => {
29-
writeStream.on('finish', () => {
30-
resolve();
31-
});
32-
writeStream.on('error', (err) => {
33-
debugLog(options, `Error write temp file: ${err}`);
34-
reject(err);
35-
});
22+
debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
23+
const writeStream = fs.createWriteStream(tempFilePath);
24+
const writePromise = new Promise((resolve, reject) => {
25+
writeStream.on('finish', () => resolve());
26+
writeStream.on('error', (err) => {
27+
debugLog(options, `Error write temp file: ${err}`);
28+
reject(err);
3629
});
37-
};
30+
});
3831

3932
return {
4033
dataHandler: (data) => {
4134
if (completed === true) {
4235
debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
4336
return;
4437
}
45-
if (writeStream === false) createWriteStream();
4638
writeStream.write(data);
4739
hash.update(data);
4840
fileSize += data.length;
@@ -60,14 +52,12 @@ module.exports = (options, fieldname, filename) => {
6052
},
6153
cleanup: () => {
6254
completed = true;
63-
if (writeStream !== false) {
64-
debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
65-
writeStream.end();
66-
deleteFile(tempFilePath, err => (err
67-
? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)
68-
: debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`)
69-
));
70-
}
55+
debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
56+
writeStream.end();
57+
deleteFile(tempFilePath, err => (err
58+
? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)
59+
: debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`)
60+
));
7161
},
7262
getWritePromise: () => writePromise
7363
};

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy