diff options
Diffstat (limited to 'js/save.js')
| -rw-r--r-- | js/save.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/js/save.js b/js/save.js new file mode 100644 index 0000000..ec2fc6b --- /dev/null +++ b/js/save.js @@ -0,0 +1,54 @@ +function get_filename(){ + var basename = $("#url").val().replace(/^.*\//,"").replace(/\..*$/,"").replace(/[^-_ a-zA-Z0-9]/g,"") + var username = user.username + var filename = basename + "-" + username + "-" + (+new Date()) + ".gif" + return filename.replace(/ /g,"_").replace(/-+/g,"-") +} +function save (){ + if (! lastGif) return; + var filename = get_filename() + var blob = dataUriToBlob(lastGif) + saveAs(blob, filename); +} +function saveJSON (data, filename) { + var bytes = JSON.stringify(data) + var buf = new ArrayBuffer(bytes.length); + var arr = new Uint8Array(buf); + for (var i = 0; i < bytes.length; i++) { + arr[i] = bytes.charCodeAt(i); + } + + var blob = new Blob([arr], { type: "text/json" }); + blob.slice = blob.slice || blob.webkitSlice; + + saveAs(blob, filename); +} + +function upload(uri, filename, tag){ + filename = filename || get_filename() + uri = (uri && ! uri.target) ? uri : lastGif + tag = tag || "shader" + + var blob = dataUriToBlob(uri) + uploadImage({ + blob: blob, + filename: filename, + username: user.username, + tag: tag, + success: function(data){ + + // data.url + // data.filesize + // data.success + + console.log(data); + $("#uploaded-url").show().focus().val(data.url) + $("#uploaded-url + br").show() + status && status("uploaded"); + }, + error: function(data){ + console.log(data) + status("error uploading: " + data.error) + } + }); +} |
