api documentation
simple api for upload temporary image
endpoint
POST /api/upload.php
parameters
- file : image file (jpg, png, webp, gif). max 20mb.
- expire : 3, 5, or 30 (in minutes). default 30.
success response
{
"status": true,
"filename": "abc1.jpg",
"url": "https://domain.com/f/abc1.jpg",
"expire_minutes": 30
}
error response
{
"status": false,
"message": "unsupported type"
}
Contoh Penggunaan (JavaScript)
Berikut adalah contoh fungsi async/await untuk mengupload file menggunakan Fetch API.
async function uploadImage(file, expireMinutes = 30) {
const formData = new FormData();
formData.append('file', file);
formData.append('expire', expireMinutes);
try {
const response = await fetch('/api/upload.php', {
method: 'POST',
body: formData
});
const result = await response.json();
if (result.status) {
console.log('Upload successful!');
console.log('URL:', result.url);
return result.url;
} else {
console.error('Upload failed:', result.message);
return null;
}
} catch (error) {
console.error('Network or server error:', error);
return null;
}
}
Anda bisa memanggil fungsi ini dari event listener, misalnya saat file dipilih:
// HTML: <input type="file" id="fileInput">
// HTML: <select id="expireSelect">...</select>
const myFileInput = document.getElementById('fileInput');
const myExpireSelect = document.getElementById('expireSelect');
myFileInput.addEventListener('change', async (event) => {
const file = event.target.files[0];
const expire = myExpireSelect.value;
if (file) {
console.log('Uploading...');
const fileUrl = await uploadImage(file, expire);
if (fileUrl) {
console.log('File is available at:', fileUrl);
// Anda bisa tampilkan URL ke user di sini
}
}
});