mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-28 18:23:35 +00:00
feature(dom) uploadFiles progress: every file -> all files
This commit is contained in:
parent
8b4fbb1998
commit
7ca07cdc1d
4 changed files with 96 additions and 77 deletions
|
|
@ -1,4 +1,9 @@
|
|||
var Util, DOM;
|
||||
/* global Util */
|
||||
/* global DOM */
|
||||
/* global CloudFunc */
|
||||
/* global CloudCmd */
|
||||
/* global Emitify */
|
||||
/* global async */
|
||||
|
||||
(function (Util, DOM) {
|
||||
'use strict';
|
||||
|
|
@ -162,7 +167,7 @@ var Util, DOM;
|
|||
*/
|
||||
load.ajax = function(params) {
|
||||
var data,
|
||||
p = params, countProgress,
|
||||
p = params,
|
||||
isObject = Util.type.object(p.data),
|
||||
isArray = Util.type.array(p.data),
|
||||
isArrayBuf = Util.type(p.data) === 'arraybuffer',
|
||||
|
|
@ -185,21 +190,6 @@ var Util, DOM;
|
|||
else
|
||||
data = p.data;
|
||||
|
||||
Events.add('progress', xhr.upload, function(event) {
|
||||
var percent, count;
|
||||
|
||||
if (event.lengthComputable) {
|
||||
percent = (event.loaded / event.total) * 100;
|
||||
count = Math.round(percent);
|
||||
|
||||
if (countProgress)
|
||||
Images.setProgress(count);
|
||||
|
||||
countProgress = true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Events.add('readystatechange', xhr, function(event) {
|
||||
var TYPE_JSON, type, data, isContain, notText,
|
||||
xhr = event.target,
|
||||
|
|
@ -228,6 +218,48 @@ var Util, DOM;
|
|||
xhr.send(data);
|
||||
};
|
||||
|
||||
load.put = function(url, body) {
|
||||
var emitter = Emitify(),
|
||||
prefix = CloudCmd.PREFIX,
|
||||
apiURL = prefix + CloudFunc.apiURL,
|
||||
api = apiURL + '/fs',
|
||||
xhr = new XMLHttpRequest();
|
||||
|
||||
url = encodeURI(url);
|
||||
url = url.replace('#', '%23');
|
||||
|
||||
xhr.open('put', api + url, true);
|
||||
|
||||
xhr.upload.onprogress = function(event) {
|
||||
var percent, count;
|
||||
|
||||
if (event.lengthComputable) {
|
||||
percent = (event.loaded / event.total) * 100;
|
||||
count = Math.round(percent);
|
||||
|
||||
emitter.emit('progress', count);
|
||||
}
|
||||
|
||||
};
|
||||
xhr.onreadystatechange = function() {
|
||||
var error,
|
||||
over = xhr.readyState === xhr.DONE,
|
||||
OK = 200;
|
||||
|
||||
if (over)
|
||||
if (xhr.status === OK) {
|
||||
emitter.emit('end');
|
||||
} else {
|
||||
error = Error(xhr.responseText);
|
||||
emitter.emit('error');
|
||||
}
|
||||
};
|
||||
|
||||
xhr.send(body);
|
||||
|
||||
return emitter;
|
||||
};
|
||||
|
||||
load.ext = function(src, func) {
|
||||
var element,
|
||||
ext = Util.getExt(src);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue