(file: File)
| 25 | |
| 26 | // 读取 File 对象为 base64 |
| 27 | function readFileAsBase64(file: File): Promise<string> { |
| 28 | return new Promise((resolve, reject) => { |
| 29 | const reader = new FileReader() |
| 30 | reader.onload = () => { |
| 31 | const result = reader.result as string |
| 32 | // 移除 data:xxx;base64, 前缀 |
| 33 | const base64 = result.split(',')[1] |
| 34 | resolve(base64) |
| 35 | } |
| 36 | reader.onerror = reject |
| 37 | reader.readAsDataURL(file) |
| 38 | }) |
| 39 | } |
| 40 | |
| 41 | interface UseAttachmentResult { |
| 42 | pendingAttachments: FileAttachment[] |