Upload files through POST/PUT HTTP request, using request!
It starts at the very beginning (including how to properly set-up your command-line on Windows and Mac OS X), and goes beyond the official Getting Started guide.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-request-upload --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-request-upload');
In your project's Gruntfile, add a section named request_upload
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
request_upload: {
your_target: {
options: {
method: 'POST',
url: '',
headers: {},
data: {},
onProgress: function (percent, uploaded, total) {},
onComplete: function (data) {},
src: ''
},
},
},
})
Type: String
Default value: 'POST'
Default value: POST
The HTTP method to use to upload the file. Look in the API documentation you want to use, this is usually POST or PUT.
Type: String
Default value: ''
This is the full URL to which you can upload a file. You can append some variables, like an API token.
Type: Object
Default value: {}
Any form data fields to be sent in addition to the file upload
Type: Object
DefaultValue: {}
Headers to send along with your HTTP request. For example, a lot of API require the Authentication to be sent through the Headers.
Type: Function
DefaultValue: function(percent, uploaded, total) {}
Callback used to uploaded progress.
Type: Function
DefaultValue: function(data) {}
Callback used to process server's response. For example, when server returns id of uploaded file you need to process afterwards.
Type: String
Default value: ''
The local path of the file you wish to upload, using the current working directory as a reference. You can upload only 1 file at a time.