diff options
Diffstat (limited to 'Pages/Upload.razor')
| -rw-r--r-- | Pages/Upload.razor | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Pages/Upload.razor b/Pages/Upload.razor new file mode 100644 index 0000000..614cec0 --- /dev/null +++ b/Pages/Upload.razor @@ -0,0 +1,43 @@ +@page "/Upload" +@attribute [Authorize] + +<div id="dropzone"> + <p>Drag a file to upload it<br/>or click to select one or more file(s)</p> + <form id="uploadForm" action="/media" method="post" enctype="multipart/form-data"> + <input type="file" id="fileUpload" name="fileUpload" accept="image/*,video/*" multiple/> + </form> +</div> + +<script suppress-error="BL9992"> + var dropzone = document.getElementById('dropzone'); + var uploadForm = document.getElementById('uploadForm'); + var fileUpload = document.getElementById('fileUpload'); + + dropzone.ondragover = function (e) { + e.preventDefault(); + } + + dropzone.ondragenter = function(e) { + e.preventDefault(); + dropzone.classList.toggle('hover', true); + } + + dropzone.ondragleave = function(e) { + e.preventDefault(); + dropzone.classList.toggle('hover', false); + } + + dropzone.ondrop = function(e) { + e.preventDefault(); + fileUpload.files = e.dataTransfer.files; + uploadForm.submit(); + } + + dropzone.onclick = function(e) { + fileUpload.click(); + } + + fileUpload.onchange = function(e) { + uploadForm.submit(); + } +</script> |
