ai-tube-clap-exporter / src /core /files /downloadFileAsBase64.mts
jbilcke-hf's picture
jbilcke-hf HF staff
initial commit 🎬
2cae2a9
raw
history blame
714 Bytes
import { lookup } from "mime-types"
export const downloadFileAsBase64 = async (remoteUrl: string): Promise<string> => {
// const controller = new AbortController()
// download the file
const response = await fetch(remoteUrl, {
// signal: controller.signal
})
// get as Buffer
const arrayBuffer = await response.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
// convert it to base64
const base64 = buffer.toString('base64')
const res = lookup(remoteUrl)
let contentType = res.toString()
if (typeof res === "boolean" && res === false) {
contentType = response.headers.get('content-type')
}
const assetUrl = `data:${contentType};base64,${base64}`
return assetUrl
};