piskel/js/service/ImageUploadService.js
Julian Descottes ca427e0853 Dev environment : closure compiler + jshint update
Fixed error raised by closure compiler
Added es3 option to jshint (detect trailing commas)
Added curly option to jshint (missing curly braces for if/for blocks)
Removed trailing whitespaces (not enforced through jshint though)
2013-09-28 23:52:51 +02:00

34 lines
1.1 KiB
JavaScript

(function () {
var ns = $.namespace("pskl.service");
ns.ImageUploadService = function () {
this.serviceUrl_ = "http://screenletstore.appspot.com/__/upload";
};
ns.ImageUploadService.prototype.init = function () {
// service interface
};
/**
* Upload a base64 image data to distant service. If successful, will call provided callback with the image URL as first argument;
* @param {String} imageData base64 image data (such as the return value of canvas.toDataUrl())
* @param {Function} cbSuccess success callback. 1st argument will be the uploaded image URL
* @param {Function} cbError error callback
*/
ns.ImageUploadService.prototype.upload = function (imageData, cbSuccess, cbError) {
var xhr = new XMLHttpRequest();
var formData = new FormData();
formData.append('data', imageData);
xhr.open('POST', this.serviceUrl_, true);
xhr.onload = function (e) {
if (this.status == 200) {
var imageUrl = "http://screenletstore.appspot.com/img/" + this.responseText;
cbSuccess(imageUrl);
} else {
cbError();
}
};
xhr.send(formData);
};
})();