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 :)