aboutsummaryrefslogtreecommitdiff
path: root/node_modules/needle/examples/upload-image.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/needle/examples/upload-image.js')
-rw-r--r--node_modules/needle/examples/upload-image.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/needle/examples/upload-image.js b/node_modules/needle/examples/upload-image.js
new file mode 100644
index 00000000..090e3e3f
--- /dev/null
+++ b/node_modules/needle/examples/upload-image.js
@@ -0,0 +1,51 @@
+var needle = require('../'),
+ path = require('path');
+
+var image = 'https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png';
+
+function upload(obj, cb) {
+ console.log('Uploading image...');
+
+ var url = 'http://deviantsart.com';
+
+ var opts = {
+ timeout: 10000,
+ follow: 3,
+ multipart: true
+ };
+
+ var params = {
+ file: obj
+ }
+
+ needle.post(url, params, opts, function(err, resp) {
+ if (err || !resp.body.match('url'))
+ return cb(err || new Error('No image URL found.'))
+
+ cb(null, JSON.parse(resp.body).url)
+ })
+}
+
+function download(url, cb) {
+ console.log('Getting ' + url);
+ needle.get(url, function(err, resp) {
+ if (err) throw err;
+
+ cb(null, resp.body);
+ })
+}
+
+////////////////////////////////////////
+// ok, now go.
+
+download(image, function(err, buffer) {
+ if (err) throw err;
+
+ var obj = { buffer: buffer, content_type: 'image/png' };
+
+ upload(obj, function(err, url) {
+ if (err) throw err;
+
+ console.log('Image uploaded to ' + url);
+ })
+})