-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathajaxuploader_single.js
85 lines (66 loc) · 2.17 KB
/
ajaxuploader_single.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Ajax Uploader
// V1.0
// Tobias Gerlach
function _(el){return document.getElementById(el);}
function uploadFile(){
// setup
var error = false;
var reason;
var allowedFormats = Array("image/jpeg", "application/pdf"); // erlaubte Formate
var allowedSize = 6000000; // erlaubte Größe
// grab Array
var filearray = _("files").files;
var arrayLength = filearray.length; // length
// Loop Elements
for (var i = 0; i < arrayLength; i++) {
console.log(filearray[i]);
var file = filearray[i];
// Upload Routine
// check Fileformat with Function below
//if(allowedFormats.inArray(file.type)) {
// ext okay
//} else {
// // ext false
// error = true;
// reason = 'Fehler. Die von Ihnen gewählte Datei ist vom falschen Typ. Es dürfen nur Dateien mit der Endung .jpg oder .pdf hochgeladen werden.';
//}
// check Filesize
if(file.size > allowedSize) {
// filesize to big
error = true;
reason += ' Fehler. Die Dateigröße überschreitet das Maximum von 6 MB';
}
if (!error) {
var formdata = new FormData();
formdata.append("files", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "ajaxuploader_single.php");
ajax.send(formdata);
} else {
// Fehler Out
alert(reason);
}
} // Loop
}
function progressHandler(event){
//_("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;
var percent = (event.loaded / event.total) * 100;
_("progressBar").value = Math.round(percent);
_("status").innerHTML = Math.round(percent)+"% hochgeladen. Bitte warten Sie.";
}
function completeHandler(event){
_("status").innerHTML = "Die Datei wurde erfolgreich hochgeladen.";
_("progressBar").value = 0;
_("filename").innerHTML = event.target.responseText; // Name der hochgeladenen Datei
}
function errorHandler(event){
_("status").innerHTML = "Upload Failed";
}
function abortHandler(event){
_("status").innerHTML = "Upload Aborted";
}