diff --git a/packages/node_modules/@node-red/nodes/core/storage/10-file.js b/packages/node_modules/@node-red/nodes/core/storage/10-file.js index 5cff2b6316..672c04ef26 100644 --- a/packages/node_modules/@node-red/nodes/core/storage/10-file.js +++ b/packages/node_modules/@node-red/nodes/core/storage/10-file.js @@ -190,9 +190,23 @@ module.exports = function(RED) { } if (node.filenameType === "str" || node.filenameType === "env") { // Static filename - write and reuse the stream next time + var writeDone = false; + var handleWriteError = function(err) { + if (!writeDone) { + writeDone = true; + node.wstream.removeListener('error', handleWriteError); + node.error(RED._("file.errors.appendfail",{error:err.toString()}),msg); + done(); + } + }; + node.wstream.on('error', handleWriteError); node.wstream.write(buf, function() { - nodeSend(msg); - done(); + if (!writeDone) { + writeDone = true; + node.wstream.removeListener('error', handleWriteError); + nodeSend(msg); + done(); + } }); } else {