From 2994420160314feb4147659d2abe654d7a0c45a7 Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Tue, 17 Apr 2018 20:47:13 +0700 Subject: [PATCH 1/2] Fixed image not displaying after paste --- browser/components/CodeEditor.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index 872e9ad7..809957da 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -331,9 +331,14 @@ export default class CodeEditor extends React.Component { const imageDir = path.join(storagePath, 'images') if (!fs.existsSync(imageDir)) fs.mkdirSync(imageDir) const imagePath = path.join(imageDir, `${imageName}.png`) - fs.writeFile(imagePath, binaryData, 'binary') - const imageMd = `![${imageName}](${path.join('/:storage', `${imageName}.png`)})` - this.insertImageMd(imageMd) + fs.writeFile(imagePath, binaryData, 'binary', (error) => { + if (error) { + throw error + } else { + const imageMd = `![${imageName}](${path.join('/:storage', `${imageName}.png`)})` + this.insertImageMd(imageMd) + } + }) } } else if (this.props.fetchUrlTitle && isURL(pastedTxt) && !isInLinkTag(editor)) { this.handlePasteUrl(e, editor, pastedTxt) From 88de66a31f1339413f6b599d5a595d9fa179ca05 Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Thu, 19 Apr 2018 19:17:10 +0700 Subject: [PATCH 2/2] fix the same error when drop image --- browser/main/lib/dataApi/copyImage.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/browser/main/lib/dataApi/copyImage.js b/browser/main/lib/dataApi/copyImage.js index 6a79b8b7..2664dea6 100644 --- a/browser/main/lib/dataApi/copyImage.js +++ b/browser/main/lib/dataApi/copyImage.js @@ -21,8 +21,12 @@ function copyImage (filePath, storageKey, rename = true) { const imageDir = path.join(targetStorage.path, 'images') if (!fs.existsSync(imageDir)) fs.mkdirSync(imageDir) const outputImage = fs.createWriteStream(path.join(imageDir, basename)) + outputImage.on('error', reject) + inputImage.on('error', reject) + inputImage.on('end', () => { + resolve(basename) + }) inputImage.pipe(outputImage) - resolve(basename) } catch (e) { return reject(e) }