mirror of
https://github.com/utopia-os/utopia-ui.git
synced 2026-03-01 12:44:17 +00:00
31 lines
762 B
TypeScript
31 lines
762 B
TypeScript
export const getImageDimensions = (
|
|
file: File,
|
|
): Promise<{
|
|
width: number
|
|
height: number
|
|
}> =>
|
|
// eslint-disable-next-line promise/avoid-new
|
|
new Promise((resolve, reject) => {
|
|
try {
|
|
const fileReader = new FileReader()
|
|
|
|
fileReader.onload = () => {
|
|
try {
|
|
const img = new Image()
|
|
|
|
img.onload = () => resolve({ width: img.width, height: img.height })
|
|
|
|
img.src = fileReader.result as string // is the data URL because called with readAsDataURL
|
|
} catch (error) {
|
|
reject(error)
|
|
throw new Error('Error loading image')
|
|
}
|
|
}
|
|
|
|
fileReader.readAsDataURL(file)
|
|
} catch (error) {
|
|
reject(error)
|
|
throw new Error('Error reading image file')
|
|
}
|
|
})
|