API


Using vgy.me on your website is easy. You just need to make a POST method request to https://vgy.me/upload. The uploader will always return a JSON response, so you can easily use it with jQuery-based File Uploaders, such as blueimp's jQuery File Uploader, like the basic example below:

				<!DOCTYPE HTML>
				<html>
				    <head>
				        <meta charset="utf-8">
				        <title>My File Uploader</title>
				    </head>
				    <body>
				        <input id="fileupload" type="file" name="file[]" multiple>
				        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
				        <script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.19.2/js/vendor/jquery.ui.widget.min.js"></script>
				        <script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.19.2/js/jquery.iframe-transport.min.js"></script>
				        <script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.19.2/js/jquery.fileupload.min.js"></script>
				        
				        <script>
				            $(function()
				            {
				                $('#fileupload').fileupload({
				                    url: 'https://vgy.me/upload',
				                    dataType: 'json',
				                    done: function(e, data)
				                    {
				                        // For single-file upload
				                        if(typeof data.result.url != 'undefined')
				                        {
				                            // outputs <p>https://vgy.me/abc123</p>
				                            $('<p/>').text(data.result.url).appendTo(document.body);
				                        }
				                        else
				                        {
				                            // If 2 or more files are uploaded at once
				                            $.each(data.result.upload_list, function(index, url)
				                            {
				                                // outputs <p>https://vgy.me/abc123</p>
				                                $('<p/>').text(url).appendTo(document.body);
				                            });
				                        }
				                    }
				                });
				            });
				        </script>
				    </body> 
				</html>
			

For single-file uploads, it will return basic information for that upload, like below:

				{
				    'error': false,
				    'url': 'https://vgy.me/abc123',
				    'image': 'https://vgy.me/abc123.png',
				    'filename': 'abc123',
				    'ext': 'png',
				    'filesize': 123456
				}
			

For multi-file uploads, the uploader will always create a random album to store the multiple uploads in. The results will be a single URL to the album, as well as a list of all the uploads within that album:

				{
				    'error': false,
				    'url': 'https://vgy.me/album/DemoAlbum',
				    'upload_list': {
				        'https://vgy.me/DemoUpload1.png',
				        'https://vgy.me/DemoUpload2.png',
				        'https://vgy.me/DemoUpload3.png',
				        ...
				    },
				}
			

You can also upload files to our servers through native PHP. Below is an example using PHP 7.0 and cURL:

				<?php
				    $ch = curl_init('https://vgy.me/upload');
				    $file = new CURLFile('/path/to/your/image.jpg', 'mimetype', 'filename');
				    $data = array('file' => $file);
				    curl_setopt($ch, CURLOPT_POST, 1);
				    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
				    echo curl_exec($ch);
				?>
			

If you have an account with us, you can generate a userkey (go here) to have your uploader on your website upload files into your account. All you have to do is include 'userkey' => 'YourUserKey' into the $data array as shown in the PHP/cURL example below.

				<?php
				    $ch = curl_init('https://vgy.me/upload');
				    $file = new CURLFile('/path/to/your/image.jpg', 'mimetype', 'filename');
				    $data = array('file' => $file, 'userkey' => 'YourUserKey');
				    curl_setopt($ch, CURLOPT_POST, 1);
				    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
				    echo curl_exec($ch);
				?>