Wednesday, January 29, 2020

Membuat Upload File ke Server dengan Flutter dan PHP

Upload File ke Server Flutter
Membuat File Uploader dengan Flutter dan PHP (Dilengkapi Source Code) - Dalam membuat CRUD ataupun input data dari aplikasi mobile biasanya kita tidak hanya mengirimkan data tekstual saja. Akan tetapi banyak jenis data lain, terutama data yang bersifat binary yaitu contohnya file. Dalam teknologi mobile, file sendiri dikelompokan dalam berbagai macam grup misalnya Audio, Video, Image, dan Dokumen (file umum).

Pada kesempatan kali ini, saya akan memberikan contoh bagaimanca cara mengupload (mengirim) file melalui Flutter dengan tanpa mengklasifikasikan kelompok file tersebut. Karena, pada dasarnya suatu file tersusun dari data binary yang mana cara mengirim ke servernya bisa menggunakan cara yang sama. Untuk ini, metode upload atau pengiriman file yang digunakan disini bisa dipakai untuk semua jenis file.

Perlu sobat ketahui bahwa artikel ini merupakan rangkain artikel lanjutan dari artikel sebelumnya yaitu (Membuat Login dan Session dan Membuat CRUD + Seacrh) karena source code yang dibuat disini melanjutkan dari source code projek-projek tersebut.

Sebelum, kita membahas konsep upload file melalui aplikasi mobile yang kita buat dengan Flutter ke server PHP, ada baiknya sobat lihat terlebih dahulu skema atau gambaran umum proses upload file dari klien ke server berikut ini:

Skema Proses Upload file ke Server
Pada gambar skema diatas, dapat saya jelaskan secara singkat bahwa pembuatan aplikasi untuk upload file ke server dengan Flutter dan PHP seperti pada artikel kali ini adalah dengan cara membaca file binary lalu mengkonversi data file binary tersebut ke dalam bentuk base64 (karena kita tidak bisa post data binary ke API). Lalu hasil konversi base64 dikirim ke API melalui parameter tertentu, lalu pada sisi server akan menerima data base64 yang mana data itu akan di decode kebentuk binary untuk selanjutnya disimpan di hardisk (storage).

Konsep Pembuatan Aplikasi

Konsep pembuatan aplikasi upload file ke Server dengan Flutter dan PHP sebagai backend, adalah sebagai berikut:
  1. Menggunakan package file_picker sebagai library bantuan untuk memilih file baik pilihan single ataupun multiple.
  2. Menggunakan package http sebagai library bantuan untuk mengirim data ke API dengan method POST.
  3. File yang dipilih melalui library file_picker dibaca satu persatu, lalu nama file dan data-nya disimpan ke memory.
  4. Data dari masing-masing file di memory yang masih berbentuk binary, dikonversi kedalam format base64 (text) untuk dikirimkan melalui API
  5. Data file berbentuk base64 dimasukan ke parameter filedata dan nama file dimasukan ke parameter filename, lalu data-data tersebut dikirimkan melalui API.
  6. Ulangi pengiriman data sebanyak file yang dipilih.
  7. Data yang sampai ke server yang masih berbentuk base64 dikonversi lagi kedalam bentuk binary dengan cara decode_base64, lalu data tersebut di tulis ke hardisk dengan nama file sesuai yang dikirimkan dari klien dan diberikan ektensi untuk menghindari hal-hal yang tidak diinginkan.
  8. Selesai

Source code lengkap dari projek di atas bisa diambil melalui link dibawah ini
 

Share This
Previous Post
Next Post

Halo, Saya A.M Hirin seorang Penulis Buku IT, International Freelance Programmer, dan Senior Developer di Perusahaan Konsultan IT. Saya penggila kode dan sudah berkutat selama 15 tahun di dunia pemrograman. Anda membutuhkan bantuan terkait skill dan keahlian saya? Kontak saya melalui email : nump.info@gmail.com

0 komentar: