import FormData from 'form-data';
import fs from 'fs';
// Середовище Node.js: завантажити локальний файл
const formData = new FormData();
formData.append('file', fs.createReadStream('/path/to/your/file.jpg'));
const response = await fetch('https://app.teable.ai/api/table/__tableId__/record/__recordId__/__fieldId__/uploadAttachment', {
method: 'POST',
headers: {
'Authorization': 'Bearer __token__',
...formData.getHeaders()
},
body: formData
});
console.log(await response.json());
// Завантажити URL (працює і в Node.js, і в браузері)
const formDataUrl = new FormData();
formDataUrl.append('fileUrl', 'https://example.com/image.jpg');
const responseUrl = await fetch('https://app.teable.ai/api/table/__tableId__/record/__recordId__/__fieldId__/uploadAttachment', {
method: 'POST',
headers: {
'Authorization': 'Bearer __token__',
...formDataUrl.getHeaders()
},
body: formDataUrl
});
console.log(await responseUrl.json());
// Середовище браузера: завантажити файл
// Припускаємо, що є елемент вибору файлу: <input type="file" id="fileInput">
document.getElementById('fileInput').addEventListener('change', async (event: Event) => {
const fileInput = event.target as HTMLInputElement;
const file = fileInput.files?.[0];
if (file) {
const formData = new FormData();
formData.append('file', file);
const response = await fetch('https://app.teable.ai/api/table/__tableId__/record/__recordId__/__fieldId__/uploadAttachment', {
method: 'POST',
headers: {
'Authorization': 'Bearer __token__'
},
body: formData
});
console.log(await response.json());
}
});