mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
/// <reference path="angular-file-upload.d.ts" />
|
|
|
|
module controllers {
|
|
|
|
"use strict";
|
|
|
|
var controllerId = "upload";
|
|
|
|
class Upload {
|
|
|
|
static $inject = ["$upload"];
|
|
constructor(
|
|
private $upload: angular.angularFileUpload.IUploadService
|
|
) {
|
|
}
|
|
|
|
onFileSelect($files: File[]) {
|
|
// $files: an array of files selected, each file has name, size, and type.
|
|
for (var i = 0; i < $files.length; i++) {
|
|
var file = $files[i];
|
|
this.$upload.upload({
|
|
url: "/api/upload",
|
|
method: "POST",
|
|
data: {
|
|
extraData: {
|
|
fileName: file.name,
|
|
test: "anything"
|
|
}
|
|
},
|
|
file: file
|
|
})
|
|
.abort()
|
|
.xhr((evt: any) => {
|
|
console.log('xhr');
|
|
})
|
|
.progress((evt: angular.angularFileUpload.IFileProgressEvent) => {
|
|
var percent = parseInt((100.0 * evt.loaded / evt.total).toString(), 10);
|
|
console.log("upload progress: " + percent + "% for " + evt.config.file.name);
|
|
})
|
|
.error((data: any, status: number, response: any, headers: any) => {
|
|
console.error(data, status, response, headers);
|
|
})
|
|
.success((data: any, status: number, headers: any, config: angular.angularFileUpload.IFileUploadConfig) => {
|
|
// file is uploaded successfully
|
|
console.log("Success!", data, status, headers, config);
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
angular.module("app").controller(controllerId, Upload);
|
|
}
|