Saya hanya perlu mengunggah file gambar melalui <input type="file">
tag.
Saat ini, ia menerima semua jenis file. Tapi, saya ingin membatasi hanya untuk ekstensi file gambar tertentu yang mencakup .jpg
, .gif
dll.
Bagaimana saya bisa mencapai fungsi ini?
Jawaban:
Gunakan atribut accept dari tag input. Jadi, untuk hanya menerima PNG, JPEG, dan GIF, Anda dapat menggunakan kode berikut:
Atau sederhananya:
Perhatikan bahwa ini hanya memberikan petunjuk kepada browser tentang jenis file apa yang akan ditampilkan kepada pengguna, tetapi ini dapat dengan mudah dielakkan, jadi Anda harus selalu memvalidasi file yang diunggah di server juga.
Ini harus bekerja di IE 10+, Chrome, Firefox, Safari 6+, Opera 15+, tetapi dukungan sangat samar pada ponsel (per 2015) dan oleh beberapa laporan ini sebenarnya dapat mencegah beberapa browser seluler dari mengunggah apa pun, jadi pastikan untuk menguji platform target Anda dengan baik.
Untuk dukungan peramban terperinci, lihat http://caniuse.com/#feat=input-file-accept
sumber
accept="file/csv, file/xls"
apakah ini valid ??image/x-png
? Menurut daftar ini, itu adilimage/png
. iana.org/assignments/media-types/media-types.xhtmlMenggunakan ini:
bekerja di FF dan Chrome.
sumber
Gunakan seperti ini
Ini berhasil untuk saya
https://jsfiddle.net/ermagrawal/5u4ftp3k/
sumber
Langkah-langkah:
1. Tambahkan atribut accept ke tag input
2. Validasi dengan javascript
3. Tambahkan validasi sisi server untuk memverifikasi apakah konten benar-benar jenis file yang diharapkan
Untuk HTML dan javascript:
Penjelasan:
sumber
Ini bisa dicapai dengan
Tapi ini bukan cara yang baik. Anda harus kode di sisi server untuk memeriksa file gambar atau tidak.
Periksa apakah file gambar adalah gambar aktual atau gambar palsu
Untuk referensi lebih lanjut, lihat di sini
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
sumber
Anda dapat menggunakan
accept
atribut untuk<input type="file">
membaca dokumen ini http://www.w3schools.com/tags/att_input_accept.aspsumber
Menggunakan type = "file" dan accept = "image / *" (atau format yang Anda inginkan), memungkinkan pengguna untuk memilih file dengan format tertentu. Tetapi Anda harus memeriksanya lagi di sisi klien, karena pengguna dapat memilih jenis file lain. Ini bekerja untuk saya.
Dan kemudian, dalam skrip javascript Anda
sumber
const file: File = imageInput.files[0];
? Juga, menetapkan id ke input tidak dilakukan dengan cara konvensional.Jika Anda ingin mengunggah banyak gambar sekaligus, Anda dapat menambahkan
multiple
atribut ke input.sumber