Katakanlah saya memiliki elemen ini di halaman:
<input id="image-file" type="file" />
Ini akan membuat tombol yang memungkinkan pengguna halaman web untuk memilih file melalui dialog "File open ..." di browser.
Katakanlah pengguna mengklik tombol berkata, memilih file dalam dialog, lalu mengklik tombol "Oke" untuk menutup dialog.
Nama file yang dipilih sekarang disimpan di:
document.getElementById("image-file").value
Sekarang, katakanlah server menangani POST multi-bagian di URL "/ unggah / gambar".
Bagaimana cara mengirim file ke "/ unggah / gambar"?
Juga, bagaimana saya mendengarkan pemberitahuan bahwa file sudah selesai diunggah?
javascript
file-upload
YummyBánhMì
sumber
sumber
Jawaban:
Kecuali Anda mencoba mengunggah file menggunakan ajax, cukup kirimkan formulir ke
/upload/image
.Jika Anda ingin mengunggah gambar di latar belakang (mis. Tanpa mengirimkan seluruh formulir), Anda dapat menggunakan ajax:
sumber
JS murni
Anda dapat menggunakan pengambilan secara opsional dengan await-try-catch
Tampilkan cuplikan kode
Pendekatan sekolah lama - xhr
Tampilkan cuplikan kode
RINGKASAN
filename
parameter formData.Content-Type
untukmultipart/form-data
- ini akan diatur secara otomatis oleh browser./upload/image
Anda dapat menggunakan alamat lengkap sepertihttp://.../upload/image
.multiple
atribut penggunaan permintaan tunggal<input multiple type=... />
:, dan lampirkan semua file yang dipilih ke formData dengan cara yang sama (misalnyaphoto2=...files[2];
...formData.append("photo2", photo2);
)let user = {name:'john', age:34}
dengan cara ini:formData.append("user", JSON.stringify(user));
sumber
enctype="multipart/form-data"
net::ERR_ABORTED 405 (Method Not Allowed)