Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -213,11 +213,13 @@ HTML_CONTENT = """
|
|
213 |
const resultContainer = document.getElementById('resultContainer');
|
214 |
const dropZone = document.getElementById('dropZone');
|
215 |
|
|
|
|
|
216 |
fileInput.addEventListener('change', handleFiles);
|
217 |
|
218 |
uploadBtn.addEventListener('click', () => {
|
219 |
-
if (
|
220 |
-
uploadFiles(
|
221 |
}
|
222 |
});
|
223 |
|
@@ -253,8 +255,9 @@ HTML_CONTENT = """
|
|
253 |
});
|
254 |
|
255 |
function handleFiles(e) {
|
256 |
-
|
257 |
-
|
|
|
258 |
fileName.textContent = fileNames;
|
259 |
uploadBtn.style.display = 'inline-block';
|
260 |
}
|
@@ -268,7 +271,7 @@ HTML_CONTENT = """
|
|
268 |
resultContainer.innerHTML = '';
|
269 |
resultContainer.style.display = 'none';
|
270 |
|
271 |
-
|
272 |
const progressBar = createProgressBar(file.name);
|
273 |
progressContainer.appendChild(progressBar);
|
274 |
uploadFile(file, progressBar, index);
|
@@ -309,13 +312,13 @@ HTML_CONTENT = """
|
|
309 |
} else {
|
310 |
alert('Upload failed: ' + xhr.statusText);
|
311 |
}
|
312 |
-
if (index ===
|
313 |
resetUploadState();
|
314 |
}
|
315 |
};
|
316 |
xhr.onerror = function() {
|
317 |
alert('Upload failed: Network error');
|
318 |
-
if (index ===
|
319 |
resetUploadState();
|
320 |
}
|
321 |
};
|
@@ -335,6 +338,7 @@ HTML_CONTENT = """
|
|
335 |
uploadBtn.style.display = 'none';
|
336 |
uploadBtn.disabled = false;
|
337 |
loadingSpinner.style.display = 'none';
|
|
|
338 |
}
|
339 |
|
340 |
function addResultLink(url, fileName) {
|
|
|
213 |
const resultContainer = document.getElementById('resultContainer');
|
214 |
const dropZone = document.getElementById('dropZone');
|
215 |
|
216 |
+
let selectedFiles = [];
|
217 |
+
|
218 |
fileInput.addEventListener('change', handleFiles);
|
219 |
|
220 |
uploadBtn.addEventListener('click', () => {
|
221 |
+
if (selectedFiles.length > 0) {
|
222 |
+
uploadFiles(selectedFiles);
|
223 |
}
|
224 |
});
|
225 |
|
|
|
255 |
});
|
256 |
|
257 |
function handleFiles(e) {
|
258 |
+
selectedFiles = Array.from(e.target.files);
|
259 |
+
if (selectedFiles.length > 0) {
|
260 |
+
const fileNames = selectedFiles.map(file => file.name).join(', ');
|
261 |
fileName.textContent = fileNames;
|
262 |
uploadBtn.style.display = 'inline-block';
|
263 |
}
|
|
|
271 |
resultContainer.innerHTML = '';
|
272 |
resultContainer.style.display = 'none';
|
273 |
|
274 |
+
files.forEach((file, index) => {
|
275 |
const progressBar = createProgressBar(file.name);
|
276 |
progressContainer.appendChild(progressBar);
|
277 |
uploadFile(file, progressBar, index);
|
|
|
312 |
} else {
|
313 |
alert('Upload failed: ' + xhr.statusText);
|
314 |
}
|
315 |
+
if (index === selectedFiles.length - 1) {
|
316 |
resetUploadState();
|
317 |
}
|
318 |
};
|
319 |
xhr.onerror = function() {
|
320 |
alert('Upload failed: Network error');
|
321 |
+
if (index === selectedFiles.length - 1) {
|
322 |
resetUploadState();
|
323 |
}
|
324 |
};
|
|
|
338 |
uploadBtn.style.display = 'none';
|
339 |
uploadBtn.disabled = false;
|
340 |
loadingSpinner.style.display = 'none';
|
341 |
+
selectedFiles = [];
|
342 |
}
|
343 |
|
344 |
function addResultLink(url, fileName) {
|