Add/Update/Remove
This commit is contained in:
98
app/forms/upload.html
Normal file
98
app/forms/upload.html
Normal file
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Kakubovna: Upload</title>
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Geologica:wght@800&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="flex-container">
|
||||
<div id="upload" class="container vertical">
|
||||
<div class="dropZoneContainer">
|
||||
<input type="file" title="" id="drop_zone" class="FileUpload" onchange="addFiles(this.files)" multiple />
|
||||
<div class="dropZoneOverlay">
|
||||
<p>Drag and drop your files <br />or<br />Click to add</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list">
|
||||
<table class="filelist"></table>
|
||||
</div>
|
||||
<button style="vertical-align:middle" class="button" onclick="startUpload()"><span>Upload </span></button>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/socket.io.js"></script>
|
||||
<script src="js/siofu-client.js"></script>
|
||||
<script>
|
||||
var selectedFiles = [];
|
||||
|
||||
function addFiles(files) {
|
||||
Array.from(files).forEach(file => {
|
||||
addFile(file);
|
||||
});
|
||||
}
|
||||
|
||||
function addFile(file) {
|
||||
console.log(selectedFiles.find((element) => element.name == file.name))
|
||||
if (selectedFiles.find((element) => element.name == file.name) == undefined) {
|
||||
selectedFiles.push(file);
|
||||
}
|
||||
updateFileList();
|
||||
}
|
||||
|
||||
function shortString(str, maxlen = 13) {
|
||||
if (str.length > maxlen) {
|
||||
shortstr = str.slice(0, (maxlen - 3) / 2) + "..." + str.slice(-(maxlen - 3) / 2);
|
||||
} else {
|
||||
shortstr = str;
|
||||
}
|
||||
return shortstr;
|
||||
}
|
||||
|
||||
function updateFileList(maxlen = 30) {
|
||||
filelist = document.getElementsByClassName("filelist")[0];
|
||||
filelist.innerHTML = "";
|
||||
i = 0
|
||||
selectedFiles.forEach(file => {
|
||||
filelist.innerHTML += "<tr title=\"" + file.name + "\"><td>" + shortString(file.name, maxlen) + "</td></tr>";
|
||||
i++;
|
||||
});
|
||||
}
|
||||
|
||||
var socket = io.connect(
|
||||
{
|
||||
forceNew: true,
|
||||
extraHeaders: {
|
||||
Authorization: "bsadsds"
|
||||
}
|
||||
}
|
||||
);
|
||||
var uploader = new SocketIOFileUpload(socket);
|
||||
uploader.addEventListener("choose", function (event) {
|
||||
console.log("Files Chosen: " + event.files);
|
||||
});
|
||||
uploader.addEventListener("progress", function (event) {
|
||||
console.log("Files Chosen: " + event.bytesLoaded / event.file.size);
|
||||
});
|
||||
|
||||
function startUpload() {
|
||||
socket.once("serverReady", function (event) {
|
||||
console.log("Got \"serverReady\" event");
|
||||
console.log("Uploading..");
|
||||
uploader.submitFiles(selectedFiles);
|
||||
})
|
||||
console.log("Emitting \"prepareUpload\" event");
|
||||
socket.emit("prepareUpload", selectedFiles.length);
|
||||
}
|
||||
socket.once("linkCreated", (hash, adminhash) => {
|
||||
console.log("Link Created");
|
||||
window.location.href = document.location.protocol + "//" + document.location.host + "/api/download/" + hash + '/'
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user