/ src / lib / upload.ts
upload.ts
 1  import type { UploadResult } from '../types'
 2  import { getStoredAccessKey } from './app/api-client'
 3  
 4  export async function uploadImage(file: File): Promise<UploadResult> {
 5    const key = getStoredAccessKey()
 6    const res = await fetch('/api/upload', {
 7      method: 'POST',
 8      headers: {
 9        'X-Filename': file.name,
10        ...(key ? { 'X-Access-Key': key } : {}),
11      },
12      body: file,
13    })
14    if (!res.ok) throw new Error(`Upload failed (${res.status})`)
15    return res.json()
16  }