+function uploadFiles(files) {
+ if (!files || !files.length) return;
+
+ app.uploadStatus = {
+ busy: true,
+ count: files.length,
+ done: 0,
+ percentDone: 0
+ };
+
+ function uploadFile(file) {
+ var path = encode(sanitize(app.path + '/' + file.name));
+
+ var formData = new FormData();
+ formData.append('file', file);
+
+ superagent.post('/api/files' + path).query({ access_token: localStorage.accessToken }).send(formData).end(function (error, result) {
+ if (result && result.statusCode === 401) return logout();
+ if (result && result.statusCode !== 201) console.error('Error uploading file: ', result.statusCode);
+ if (error) console.error(error);
+
+ app.uploadStatus.done += 1;
+ app.uploadStatus.percentDone = Math.round(app.uploadStatus.done / app.uploadStatus.count * 100);
+
+ if (app.uploadStatus.done >= app.uploadStatus.count) {
+ app.uploadStatus = {
+ busy: false,
+ count: 0,
+ done: 0,
+ percentDone: 100
+ };
+
+ refresh();
+ }
+ });
+ }
+
+ for(var i = 0; i < app.uploadStatus.count; ++i) {
+ uploadFile(files[i]);
+ }
+}
+