-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
95 lines (82 loc) · 2.88 KB
/
script.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
85
86
87
88
89
90
91
92
93
94
95
//Github Account https://github.com/zainamir07
let imageContainer = document.getElementById('img_container');
let imgInput = document.getElementById('imgInput');
let body = document.getElementById('drop_zone');
let imgArr = [];
function processing(){
imgArr = [];
for (let i = 0; i < imgInput.files.length; i++) {
imgArr.push(imgInput.files[i]);
console.log(imgInput.files[i]);
}
displayImage();
}
function displayImage(){
if(imgArr){
for (let j = 0; j < imgArr.length; j++) {
imageContainer.classList.add('border');
let imgUrl = URL.createObjectURL(imgArr[j]);
let imgDiv = document.createElement('div');
imgDiv.classList.add('imageDiv');
let imgSrc = document.createElement('img');
imgSrc.classList.add('image');
imgSrc.style.width = '120px';
imgSrc.src = imgUrl;
imgDiv.append(imgSrc);
imageContainer.append(imgDiv);
}
}
}
function dropHandler(ev) {
console.log('File(s) dropped');
document.getElementById('dragcontent').innerHTML = 'Done! Drag More Files Here...';body.style.backgroundColor = '';
body.style.border = '';
// Prevent default behavior (Prevent file from being opened)
ev.preventDefault();
if (ev.dataTransfer.items) {
imgArr = [];
// Use DataTransferItemList interface to access the file(s)
[...ev.dataTransfer.items].forEach((item, i) => {
// If dropped items aren't files, reject them
if (item.kind === 'file') {
const file = item.getAsFile();
let filename = `… file[${i}].name = ${file.name}`;
console.log(file);
imgArr.push(file);
var allowedExtensions = /(\.jfif|\.jpeg|\.png)$/i;
if (!allowedExtensions.exec(filename)) {
alert('Not Extension Aloowed')
return false;
}
}
});
displayImage();
} else {
// Use DataTransfer interface to access the file(s)
[...ev.dataTransfer.files].forEach((file, i) => {
console.log(`… file[${i}].name = ${file.name}`);
});
}
}
function dragOverHandler(ev) {
ev.preventDefault();
// console.log('File(s) in drop zone');
document.getElementById('dragcontent').innerHTML = 'Perfect! Drop Now';
body.style.backgroundColor = '#00ffb8';
body.style.border = '3px dotted black';
}
function dragleave(event){
//Some code here after drag Leave
document.getElementById('dragcontent').innerHTML = 'Or Drag n Drop your files anywhere...';
body.style.backgroundColor = '';
body.style.border = '';
}
function deleteAll(){
if(imgArr.length == 0){
alert('No Images Found');
}else{
imgArr = [];
imgInput.value = '';
imageContainer.innerHTML = '';
}
}