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 {
promise = Promise.all(Array.from(dropEvent.dataTransfer.items).map(item => {
if (item.type === 'text/html') {
const html = dropEvent.dataTransfer.getData('text/html')
let imageURL = dropEvent.dataTransfer.getData('text/plain')
const match = /<img[^>]*[\s"']src="([^"]+)"/.exec(html)
if (match) {
const 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) {
const match = /<img[^>]*[\s"']src="([^"]+)"/.exec(dropEvent.dataTransfer.getData('text/html'))
if (match) {
imageURL = match[1]
}
}))
}
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 => {