1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

fix dropping image from Firefox on Linux

This commit is contained in:
Baptiste Augrain
2019-02-04 18:22:10 +01:00
parent 10ea5d00eb
commit e0d9cf7f5c

View File

@@ -304,32 +304,34 @@ function handleAttachmentDrop (codeEditor, storageKey, noteKey, dropEvent) {
} }
})) }))
} else { } else {
promise = Promise.all(Array.from(dropEvent.dataTransfer.items).map(item => { let imageURL = dropEvent.dataTransfer.getData('text/plain')
if (item.type === 'text/html') {
const html = dropEvent.dataTransfer.getData('text/html')
const match = /<img[^>]*[\s"']src="([^"]+)"/.exec(html) if (!imageURL) {
if (match) { const match = /<img[^>]*[\s"']src="([^"]+)"/.exec(dropEvent.dataTransfer.getData('text/html'))
const imageURL = match[1] if (match) {
imageURL = match[1]
return getImage(imageURL)
.then(image => {
const canvas = document.createElement('canvas')
const context = canvas.getContext('2d')
canvas.width = image.width
canvas.height = image.height
context.drawImage(image, 0, 0)
return copyAttachment({type: 'base64', data: canvas.toDataURL(), sourceFilePath: imageURL}, storageKey, noteKey)
})
.then(fileName => ({
fileName,
title: imageURL,
isImage: true
}))
}
} }
})) }
if (!imageURL) {
return
}
promise = Promise.all([getImage(imageURL)
.then(image => {
const canvas = document.createElement('canvas')
const context = canvas.getContext('2d')
canvas.width = image.width
canvas.height = image.height
context.drawImage(image, 0, 0)
return copyAttachment({type: 'base64', data: canvas.toDataURL(), sourceFilePath: imageURL}, storageKey, noteKey)
})
.then(fileName => ({
fileName,
title: imageURL,
isImage: true
}))])
} }
promise.then(files => { promise.then(files => {