45 lines
2 KiB
JavaScript
45 lines
2 KiB
JavaScript
|
// upload_handler.js
|
||
|
function handleFileInputChange(event) {
|
||
|
const file = event.target.files[0];
|
||
|
if (file) {
|
||
|
const reader = new FileReader();
|
||
|
const imagePreview = document.querySelector('.file-preview-image');
|
||
|
const videoPreview = document.querySelector('.file-preview-video');
|
||
|
const filenamePreview = document.querySelector('.file-preview-filename');
|
||
|
reader.onload = function(e) {
|
||
|
document.querySelector('.file-preview').style.display = 'block';
|
||
|
if (file.type.startsWith('image/')) {
|
||
|
imagePreview.style.display = 'block';
|
||
|
videoPreview.style.display = 'none';
|
||
|
filenamePreview.style.display = 'none';
|
||
|
imagePreview.src = e.target.result;
|
||
|
} else if (file.type.startsWith('video/')) {
|
||
|
videoPreview.style.display = 'block';
|
||
|
imagePreview.style.display = 'none';
|
||
|
filenamePreview.style.display = 'none';
|
||
|
videoPreview.querySelector('source').src = e.target.result;
|
||
|
videoPreview.load();
|
||
|
} else {
|
||
|
filenamePreview.style.display = 'block';
|
||
|
imagePreview.style.display = 'none';
|
||
|
videoPreview.style.display = 'none';
|
||
|
filenamePreview.textContent = file.name;
|
||
|
}
|
||
|
};
|
||
|
reader.readAsDataURL(file);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function handleRemoveFile() {
|
||
|
const fileInput = document.querySelector('input[name="file"]');
|
||
|
fileInput.value = '';
|
||
|
const filePreview = document.querySelector('.file-preview');
|
||
|
filePreview.style.display = 'none';
|
||
|
filePreview.querySelector('img').style.display = 'none';
|
||
|
filePreview.querySelector('img').src = '';
|
||
|
filePreview.querySelector('video').style.display = 'none';
|
||
|
filePreview.querySelector('video').src = '';
|
||
|
filePreview.querySelector('.file-preview-filename').style.display = 'none';
|
||
|
filePreview.querySelector('.file-preview-filename').textContent = '';
|
||
|
}
|