summaryrefslogtreecommitdiff
path: root/src/core/utils/getFileBase64.js
blob: ed6ae000aa4c6ae9d7eaa76e44f44b19a3a8696b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * Converts a File object to base64 string using FileReader.
 *
 * @param {File} file - The File object to be converted.
 * @returns {Promise<string>} - A Promise that resolves with the base64 string
 * representing the contents of the File, or rejects with an error if there's
 * any issue with the file reading process.
 */
const getFileBase64 = (file) => {
  return new Promise((resolve, reject) => {
    let reader = new FileReader()
    reader.readAsBinaryString(file)
    reader.onload = () => {
      let result = reader.result
      resolve(btoa(result))
    }
    reader.onerror = (error) => reject(error)
  })
}

export default getFileBase64