Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 1.73 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5.     <meta charset="utf-8" />
  6.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.     <title>Teste</title>
  8.     <meta name="viewport" content="width=device-width, initial-scale=1">
  9.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
  10.     <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  11. </head>
  12.  
  13. <body>
  14.     <input type="file" id="filepicker" webkitdirectory multiple />
  15.     <input type="button" id="upload" value="Enviar" disabled />
  16. </body>
  17.  
  18. <script type="text/javascript">
  19.  
  20.     $("#filepicker").on("change", function (event) {
  21.  
  22.         var zip = new JSZip();
  23.  
  24.         var files = event.target.files;
  25.         for (var i = 0; i < files.length; i++) {
  26.            var file = files[i].webkitRelativePath;
  27.            zip.file(file, files[i]);
  28.        }
  29.  
  30.        var zipper = zip.generateAsync({ type: "blob" });
  31.        zipper.then(function (content) {
  32.            $("#upload").attr("disabled", false);
  33.            $("#upload").unbind("click");
  34.            $("#upload").click(function () {
  35.                var data = new FormData();
  36.                data.append("name", "upload.zip");
  37.                data.append("data", content);
  38.                $.ajax({
  39.                    type: "POST",
  40.                    url: "/upload.php",
  41.                    data: data,
  42.                    processData: false,
  43.                    contentType: content.type
  44.                }).done(function (data) {
  45.                    console.log("Uploaded");
  46.                });
  47.            });
  48.            console.log(content);
  49.        });
  50.  
  51.        zipper.catch(function (error) {
  52.            alert(error);
  53.        });
  54.  
  55.    });
  56.  
  57. </script>
  58.  
  59. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement