Upload File dengan CURL di Terminal

Naufal Ardhani – CURL adalah alat yang hebat untuk membuat permintaan ke server bagi kalian yang males untuk menggunakan CSRF ( Cross-site request forgery ), Saya rasa ini sangat bagus untuk digunakan untuk menguji API.

Untuk mengunggah file dengan CURL, banyak orang membuat kesalahan yang berpikir untuk menggunakan -X POST sebagai data formulir biasa; dalam fakta, dengan cara itu akan menyebabkan kesalahan.

Lalu bagaimana cara yang tepat? Cara yang tepat untuk mengupload/mengunggah file dengan CURL adalah menggunakan opsi -F (- form), yang akan menambahkan enctype = “multipart / form-data” ke permintaan.

  • naufal.txt hanya sebagai contoh file yang anda ingin upload.

$ curl -F ‘data=@path/to/local/file’ UPLOAD_ADDRESS

Sebagai Contoh, jika saya ingin mengunggah file di /Users/naufalardhani/Desktop/naufal.txt ke server http://localhost/ upload yang memproses input file dengan parameter bentuk bernama img_avatar, saya akan membuat permintaan seperti ini,

$ curl -F ‘img_avatar=@/home/naufalardhani/Desktop/naufal.txt’ http://localhost/upload.php

Upload banyak file Untuk mengirim permintaan unggah untuk banyak file, cukup tambahkan opsi -F tambahan,

$ curl -F ‘fileX=@/home/naufalardhani/Desktop/naufal.txt’ -F ‘fileY=@ /home/naufalardhani/Desktop/naufal.txt’ … http://localhost /upload.php

Unggah susunan file Untuk mengirim permintaan unggah array file, cukup tambahkan opsi -F tambahan dengan nama parameter bentuk yang sama dengan array,

$ curl -F ‘file[]=@/home/naufalardhani/Desktop/naufal.txt’ -F ‘file []=@/path/ke/fileY’ … http://localhost/upload.php

Terima Kasih sudah menyempatkan waktu untuk membaca artikel saya, bila ada yang tidak dipahami silahkan komentar dibawah ya dengan disqus mudah kok caranya 🙂