summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2013-12-27 12:20:01 -0500
committerjules <jules@okfoc.us>2013-12-27 12:20:01 -0500
commitc485642e59fc8043a68c9993976b1b7a705ac8fb (patch)
treec26653dda389d9ebb8349a5c3341eb958c77beb7
parentbd83ed70eae58e262b1f5a0a861d20e4606dad9b (diff)
upload button
-rw-r--r--js/image.js32
-rw-r--r--shader-gif.html24
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;}
<button id="step-forward">&gt;&gt;</button>
<span id="status"></span>
<button id="save" disabled>save</button>
+ <button id="upload" disabled>upload</button>
<br>
</div>
@@ -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)
+ }
+ });
+}
+
</script>
<script type="text/html" id="frame-template">
<button class="remove">x</button>