From c485642e59fc8043a68c9993976b1b7a705ac8fb Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 27 Dec 2013 12:20:01 -0500 Subject: upload button --- js/image.js | 32 ++++++++++++++++++++++++++++++++ shader-gif.html | 24 ++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/js/image.js b/js/image.js index ffb7dad..c8f3458 100644 --- a/js/image.js +++ b/js/image.js @@ -43,5 +43,37 @@ function decimalString(n){ var m = Math.floor(n); return m + "." + Math.round((n-m)*10) } +function noop(){} + +// http://www.carbonpictures.com/bucky/data/2835/photoblaster_safe_upload.cgi.txt +function uploadImage(opt){ + if (! opt.blob || ! opt.filename) return; + + opt.username = opt.username || ""; + opt.success = opt.success || noop; + opt.error = opt.error || noop; + + // FormData params >> + // qqfile .. file data .. or comes in with postdata + // filename .. filename + // username .. nick + + var form = new FormData(); + + form.append("username", opt.username); + form.append("filename", opt.filename); + form.append("qqfile", blob); + + var req = new XMLHttpRequest(); + req.open("POST", "/cgi-bin/im/upload"); + req.onload = function(event) { + if (req.status == 200) { + opt.success(req.responseText); + } else { + opt.error(req.responseText); + } + }; + req.send(form); +} diff --git a/shader-gif.html b/shader-gif.html index 6bff9e2..0e902d9 100644 --- a/shader-gif.html +++ b/shader-gif.html @@ -68,6 +68,7 @@ div { display: inline-block; padding: 10px;} +
@@ -126,6 +127,7 @@ function init(){ $("#remove-all-frames").click(remove_all_frames) $("#render").click(render) $("#save").click(save) + $("#upload").click(upload) $("#help,#instructions .close").click(function(){ $("#instructions").toggle() }) $("#instructions").draggable({ start: drag_start, @@ -355,8 +357,8 @@ encoder.on("rendered-url", function(url){ var image = new Image () lastGif = image.src = url $("#rendered").append(image) - $("#save,#rendered").show() - $("#pause,#render,#add-frame,#save").enable() + $("#save,#upload,#rendered").show() + $("#pause,#render,#add-frame,#save,#upload").enable() $("#render").html("render") rendering = false pause(true) @@ -369,6 +371,24 @@ function save (){ saveAs(blob, filename + "-" + (+new Date()) + ".gif"); } +function upload(){ + var filename = document.getElementById("url").value.replace(/^.*\//,"").replace(/\.gif.*$/,"") + var blob = dataUriToBlob(lastGif) + uploadImage({ + blob: blob, + filename: filename + "-" + (+new Date()) + ".gif" + username: "", + success: function(msg){ + console.log(msg); + status("upload successful: " + msg) + }, + error: function(e){ + console.log(e) + status("error uploading: " + e) + } + }); +} +