made temp files removed on error, fixed uploads

This commit is contained in:
subnub
2024-12-28 16:27:04 -05:00
parent 3a641818f6
commit 3e9426bab0
3 changed files with 35 additions and 4 deletions
@@ -100,6 +100,14 @@ const tempCreateVideoThumbnail = (
});
};
const attemptToRemoveTempDirectory = () => {
return new Promise((resolve, reject) => {
fs.unlink(tempDirectory, (err) => {
resolve(!err);
});
});
};
tempWriteStream.on("finish", () => {
ffmpeg(tempDirectory, {
timeout: 60,
@@ -119,6 +127,7 @@ const tempCreateVideoThumbnail = (
})
.on("error", (err, _, stderr) => {
console.log("error", err, stderr);
attemptToRemoveTempDirectory();
resolve(file);
})
.pipe(thumbnailCipher)
@@ -8,6 +8,7 @@ import { useUploader } from "../../hooks/files";
import UploadFileIcon from "../../icons/UploadFileIcon";
import CreateFolderIcon from "../../icons/CreateFolderIcon";
import FolderUploadIcon from "../../icons/FolderUploadIcon";
import Swal from "sweetalert2";
interface AddNewDropdownProps {
closeDropdown: () => void;
@@ -44,17 +45,38 @@ const AddNewDropdown: React.FC<AddNewDropdownProps> = (props) => {
uploadFiles(files);
};
const checkForWebkitDirectory = (items: FileList) => {
for (let i = 0; i < items.length; i++) {
if (!items[i].webkitRelativePath) {
return false;
}
}
return true;
};
const handleFolderUpload = (e: React.FormEvent<HTMLInputElement>) => {
e.preventDefault();
props.closeDropdown();
const items = uploadFolderRef.current?.files;
if (!items) return;
if (!items || !items.length) {
Swal.fire({
title: "No items selected",
icon: "error",
confirmButtonColor: "#3085d6",
confirmButtonText: "Okay",
});
return;
}
console.log("items", items);
const hasWebkitDirectory = checkForWebkitDirectory(items);
uploadFolder(items);
if (!hasWebkitDirectory) {
uploadFiles(items);
} else {
uploadFolder(items);
}
};
const triggerFileUpload = () => {
+1 -1
View File
@@ -51,7 +51,7 @@ const DataForm = memo(
} else if (!isLoading) {
scrollDivRef.current?.scrollTo(0, 0);
}
}, [isLoading, navigationMap, window.location.pathname]);
}, [isLoading, navigationMap]);
const addFile = useCallback(
(files: FileList) => {