cURL is a powerful command-line tool that allows you to transfer data to and from a server. One of its many capabilities is the ability to upload files. In this guide, we will walk you through the steps of uploading files with cURL.
Installing cURL
Before we dive into uploading files, you will need to make sure that cURL is installed on your system. If you are using a Mac or Linux operating system, cURL should already be installed. You can find more information in this GitHub repository.
- Ubuntu: apt-get install curl
- Docker: https://hub.docker.com/r/curlimages/curl
Uploading a Single File
To upload a single file with cURL, you will need to use the -F flag followed by the path to the file you want to upload. For example, if you want to upload a file named “image.png” located in your current directory, you would use the following command:
curl -F “[email protected]” https://example.com/upload
This will upload the file to the specified URL. You can also add additional flags to specify the file name and content type:
curl -F “[email protected];filename=new_image.png;type=image/png” https://example.com/upload
Uploading Multiple Files
To upload multiple files with cURL, you will need to use the -F flag multiple times, each with a different file path. For example, if you want to upload two files named “image1.png” and “image2.png”, you would use the following command:
curl -F “[email protected]” -F “[email protected]” https://example.com/upload
You can also add additional flags for each file to specify the file name and content type.
Uploading Files from a Remote Server
If you want to upload a file from a remote server, you can use the -F flag followed by a URL instead of a file path. For example, if you want to upload a file from a URL, you would use the following command:
curl -F “file=@https://example.com/image.png” https://example.com/upload
Uploading Files with Authentication
If the server you are uploading to requires authentication, you can use the -u flag followed by your username and password. For example, if your username is “user” and your password is “password”, you would use the following command:
curl -u user:password -F “[email protected]” https://example.com/upload
Uploading Files with Progress Bar
If you want to see the progress of your file upload, you can use the -# flag. This will display a progress bar as the file is being uploaded. For example:
curl -# -F “[email protected]” https://example.com/upload
Upload File with cURL to AmetricX
Get you API key
Verify the endpoint
Example: Upload CSV File
curl --location 'https://trial.ametricx.com/api/v1/file/upload' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <YOUR API KEY>' \
--form 'file=@"/C:/Users/AmetricX/metrics/ShippedToItems.csv"' \
--form 'file_id="<YOUR API KEY>"'
{
"task_id": "37f3c66a-816f-420e-bafe-195d63f74137"
}
Conclusion
Uploading files with cURL is a simple and efficient process. With the ability to upload single or multiple files, from local or remote servers, and with authentication and progress bar options, cURL is a versatile tool for file transfers. Give it a try and see how it can streamline your file uploading process.