Di dalam framework JavaScript modern, ketika kita upload file, biasanya kita bikin function handler untuk menangani jika terjadi perubahan pada isi dari input bertipe file. Misalnya di Vue JS seringnya seperti ini:
async fileChange(e) {
if (e.target.files[0].size / (1024 * 1024) > 10) {
this.fileError = "File size is too large (max 10 MB)";
} else {
this.file = e.target.files[0];
}
},
Maksud dari code di atas adalah, jika ukuran file yang dipilih lebih dari 10 MB, maka akan muncul pesan error. Jika ukuran file kurang dari atau sama dengan 10 MB, maka file akan ditaruh di dalam state.
Kenapa kita harus tulis code (1024 * 1024) di code kita? Kenapa kita gak langsung tuliskan 1048576?
Karena ada perbedaan perhitungan ukuran file di sistem operasi yang berbeda. Misal perhitungan ukuran file di Windows berbeda dengan Linux Ubuntu.
Perhitungan file di Windows:
Perhitungan file di Ubuntu Linux:
Baca lebih lanjut:
Dengan solusi ini, perbedaan perhitungan di OS yang berbeda bisa diatasi, solusi menurutmu kaya gimana?
Top comments (0)