| 1 | export const dropFile = (el, { base64Content, fileName, mimeType }) => { |
| 2 | const binaryStr = atob(base64Content) |
| 3 | const bytes = new Uint8Array(binaryStr.length) |
| 4 | for (let i = 0; i < binaryStr.length; i++) bytes[i] = binaryStr.charCodeAt(i) |
| 5 | const fileObj = new File([bytes], fileName, { type: mimeType }) |
| 6 | const dataTransfer = new DataTransfer() |
| 7 | dataTransfer.items.add(fileObj) |
| 8 | el.dispatchEvent(new DragEvent('dragenter', { dataTransfer, bubbles: true })) |
| 9 | el.dispatchEvent(new DragEvent('dragover', { dataTransfer, bubbles: true })) |
| 10 | el.dispatchEvent(new DragEvent('drop', { dataTransfer, bubbles: true })) |
| 11 | } |