+DDFileUploader.prototype.upload = function(file) {
+ var reader = new FileReader();
+ var req = new XMLHttpRequest();
+ var self = this;
+
+ addListener(req.upload, 'progress', function(evt){self.progressHandler(evt);});
+ addListener(req.upload, 'load', function(evt){self.uploadCompleteHandler(evt);});
+
+ // req.upload.addEventListener("load", function(e){
+ // self.ctrl.update(100);
+ // var canvas = self.ctrl.ctx.canvas;
+ // canvas.parentNode.removeChild(canvas);
+ // }, false);
+ req.open("PUT", this.uploadUrl + '/' + file.name);
+ req.setRequestHeader("Content-Type", file.type);
+ // req.overrideMimeType('text/plain; charset=x-user-defined-binary');
+ reader.onload = function(evt) {
+ req.sendAsBinary(evt.target.result);
+ };
+ reader.readAsBinaryString(file);
+};
+
+DDFileUploader.prototype.uploadCompleteHandler = function(evt) {
+ this.progressBar.parentNode.removeChild(this.progressBar);
+};
+
+DDFileUploader.prototype.progressHandler = function(evt) {
+ if (evt.lengthComputable)
+ this.updateProgressBar(evt.loaded / evt.total);
+};
+
+DDFileUploader.prototype.previewUploadedImage = function(file) {
+ var reader = new FileReader();
+ var img = this.previewImg;
+ var size = this.thumbnailSize;
+
+ img.className = 'hidden';
+
+ reader.onload = function(evt) {
+ img.src = evt.target.result;
+ };
+ reader.readAsDataURL(file);
+};
+
+}());