summaryrefslogtreecommitdiff
path: root/js/upload.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-07-15 20:40:32 -0400
committerJules Laplace <jules@okfoc.us>2015-07-15 20:40:32 -0400
commitb2da7b372a76651e37e9f413c56d2669d458ca45 (patch)
tree9200fdce786c29f925c72b052377d07360095012 /js/upload.js
parent7bb702d891a719f69070cf18330938817b95f6a0 (diff)
save colorcode as png
Diffstat (limited to 'js/upload.js')
-rw-r--r--js/upload.js92
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
+})()