diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-07-15 20:40:32 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-07-15 20:40:32 -0400 |
| commit | b2da7b372a76651e37e9f413c56d2669d458ca45 (patch) | |
| tree | 9200fdce786c29f925c72b052377d07360095012 /js/upload.js | |
| parent | 7bb702d891a719f69070cf18330938817b95f6a0 (diff) | |
save colorcode as png
Diffstat (limited to 'js/upload.js')
| -rw-r--r-- | js/upload.js | 92 |
1 files changed, 62 insertions, 30 deletions
diff --git a/js/upload.js b/js/upload.js index 917d1b8..ec786d5 100644 --- a/js/upload.js +++ b/js/upload.js @@ -1,34 +1,66 @@ -function upload(uri, filename, tag){ - filename = filename || get_filename() - uri = (uri && ! uri.target) ? uri : lastGif - tag = tag || "shader" +var upload = (function(){ + var el = document.getElementById("upload_value") + + 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){ + var blob = dataUriToBlob(uri) + uploadImage({ + blob: blob, + filename: filename, + username: user.username, + tag: tag, + success: function(data){ - // data.url - // data.filesize - // data.success + // 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) - } - }); -} + console.log(data); + el.style.display = "block" + el.value = data.url + el.focus() + }, + error: function(data){ + console.log(data) + console.log("error uploading: " + data.error) + } + }); + } -function save (){ - var filename = get_filename() - var blob = dataUriToBlob(lastGif) - saveAs(blob, filename); -} + function uploadImage(opt){ + if (! opt.blob || ! opt.filename) return; + + opt.username = opt.username || ""; + opt.success = opt.success || noop; + opt.error = opt.error || noop; + + var form = new FormData(); + + form.append("username", opt.username); + form.append("filename", opt.filename); + form.append("qqfile", opt.blob); + form.append("tag", opt.tag); + + var req = new XMLHttpRequest(); + req.open("POST", "/cgi-bin/im/shader/upload"); + req.onload = function(event) { + if (req.status == 200) { + var res = JSON.parse(req.responseText); + if (res.success) { + opt.success(res); + } + else { + opt.error(res); + } + } else { + opt.error({ success: false, error: req.status }); + } + }; + req.send(form); + } + + return upload +})() |
