Mengunggah File ke API Backend
Gunakan FormData dan fetch untuk melakukan POST file serta melacak progres unggahan.
Mengunggah File ke API Backend adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Selamat datang
API FormData
const formData = new FormData();
formData.append('file', selectedFile);
formData.append('description', 'Profile photo');Mengunggah dengan fetch
const response = await fetch('/api/upload', {
method: 'POST',
body: formData,
// Do not set Content-Type header here!
});Pengelolaan Status Pengunggahan
const [uploading, setUploading] = useState(false);
const [progress, setProgress] = useState(0);
const [error, setError] = useState(null);Kemajuan Pengunggahan dengan XMLHttpRequest
const xhr = new XMLHttpRequest();
xhr.upload.onprogress = (e) => {
if (e.lengthComputable) {
setProgress(Math.round((e.loaded / e.total) * 100));
}
};
xhr.open('POST', '/api/upload');
xhr.send(formData);Membungkus XHR dalam Promise
function uploadFile(file) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onload = () => resolve(xhr.response);
xhr.onerror = () => reject(new Error('Upload failed'));
xhr.upload.onprogress = (e) => setProgress(Math.round(e.loaded / e.total * 100));
xhr.open('POST', '/api/upload');
xhr.send(new FormData().set && (() => { const f = new FormData(); f.append('file', file); xhr.send(f); })());
});
}Menangani Respons Peladen
const res = await fetch('/api/upload', { method: 'POST', body: fd });
if (!res.ok) throw new Error('Upload failed');
const { url } = await res.json();
setUploadedUrl(url);Penanganan Kesalahan
try {
setUploading(true);
await uploadToServer(file);
} catch (err) {
setError(err.message);
} finally {
setUploading(false);
}Membatalkan Pengunggahan
const abortRef = useRef();
const start = async () => {
abortRef.current = new AbortController();
await fetch('/api/upload', { body: fd, signal: abortRef.current.signal });
};
const cancel = () => abortRef.current?.abort();Pengunggahan Banyak Berkas
Pemeriksaan Singkat
Rangkuman
Kursus Selesai
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengunggah File ke API Backend” gratis?
Ya — teks lengkap “Mengunggah File ke API Backend” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengunggah File ke API Backend”?
Gunakan FormData dan fetch untuk melakukan POST file serta melacak progres unggahan. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai React Academy?
Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Mengunggah File ke API Backend” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Input Tak Terkontrol dengan useRef
- Input File dan Membaca Data File
- Antarmuka Unggah File dengan Seret dan Lepas
- Mengunggah File ke API Backend