| <head> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <style> | |
| body, html { | |
| width: 100%; | |
| height: 100%; | |
| margin: 0; | |
| font-family: -apple-system; | |
| } | |
| #input, #upload { | |
| width: 100%; | |
| height: 200px; | |
| border: 1px blue dashed; | |
| } | |
| #output { | |
| width: 100%; | |
| height: 100px; | |
| font-size: 1em; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div><input type="file" id="input"></input></div> | |
| <div id="upload"></div> | |
| <div><h3>Uploaded file types: </h3><textarea disabled id="output"></textarea></div> | |
| <script> | |
| input.addEventListener("change", () => { | |
| sendUploadedFileTypesToApp(input.files); | |
| }); | |
| upload.addEventListener("dragenter", event => { | |
| event.preventDefault(); | |
| if (upload.dropEffect) | |
| event.dataTransfer.dropEffect = upload.dropEffect; | |
| }); | |
| upload.addEventListener("dragover", event => { | |
| event.preventDefault(); | |
| if (upload.dropEffect) | |
| event.dataTransfer.dropEffect = upload.dropEffect; | |
| }); | |
| upload.addEventListener("drop", event => { | |
| sendUploadedFileTypesToApp(event.dataTransfer.files); | |
| event.preventDefault(); | |
| }); | |
| function sendUploadedFileTypesToApp(files) | |
| { | |
| output.value = Array.from(files).map(file => file.type).sort().join(", "); | |
| } | |
| </script> | |
| </body> |