Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 7.19 KB | None | 0 0
  1.     <!DOCTYPE html>
  2.     <html>
  3.     <div class = "html">
  4.     <head>
  5.         <meta charset="utf-8">
  6.         <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.         <title>Title</title>
  8.         <meta name="viewport" content="width=device-width, initial-scale=1">
  9.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  10.         <style>
  11.             .content {
  12.             max-width: 550px;
  13.             margin: auto;
  14.             }
  15.  
  16.     </style>
  17.     </head>
  18.  
  19.     <body>
  20.     <div class = "content">
  21.     <script>
  22.         function getList(){
  23.  
  24.             fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  25.                 method: 'POST',
  26.                 headers: {
  27.                     'Accept': 'application/json',
  28.                     'Content-Type': 'application/json'
  29.                 },
  30.                 body: '{ "command": "list" }'
  31.             }).then(function(data){
  32.                 $('#bucketList').val(data);
  33.                 data.json().then(function(bodyData){
  34.                     $('#bucketList').text(bodyData);
  35.  
  36.                 });
  37.             });
  38.                
  39.         }
  40.  
  41.         function deleteBucket(){
  42.             var bucketname = $('#addBucket').val();
  43.             if( bucketname == "" )
  44.                 return;
  45.             fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  46.             method: 'POST',
  47.             headers: {
  48.                     'Accept': 'application/json',
  49.                     'Content-Type': 'application/json'
  50.             },
  51.                 body: '{ "command": "delete", "bucketName":"'+bucketname+'" }'
  52.             }).then(function(data){
  53.                 getList();
  54.             });
  55.         }
  56.        
  57.         function deleteFile(){
  58.             console.log("1");
  59.             var bucketname = $('#bucketName').val();
  60.             var filename = $('#fileName').val();
  61.             if( bucketname == "" )
  62.                 return;
  63.             else if (filename == "")
  64.                 return;
  65.             fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  66.             method: 'POST',
  67.             headers: {
  68.                     'Accept': 'application/json',
  69.                     'Content-Type': 'application/json'
  70.             },
  71.                 body: '{ "command": "deleteFile", "bucketName":"'+bucketname+'", "filename":"'+filename+'" }'
  72.             }).then(function(data){
  73.                 $('#bucketList').val(data);
  74.                 $('#bucketList').text("");
  75.                 $('#bucketFile').val(data);
  76.                 $('#bucketFile').text("");
  77.                 data.json().then(function(bodyData){
  78.                     for(var el in bodyData){
  79.                         $('#bucketList').append("<a href='https://s3.eu-west-3.amazonaws.com/"+bucketname+"/"+bodyData[el] +"'>"+bodyData[el]+"</a>")
  80.                         $('#bucketList').append("<br>");
  81.                     }
  82.                     listDirectory();
  83.                    
  84.                     console.log(bodyData);
  85.                     // $('#bucketList').text(bodyData);
  86.                 });
  87.             });
  88.            
  89.         }
  90.         function createBucket(){
  91.             var bucketname = $('#addBucket').val();
  92.             if( bucketname == "" )
  93.                 return;
  94.             fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  95.             method: 'POST',
  96.             headers: {
  97.                     'Accept': 'application/json',
  98.                     'Content-Type': 'application/json'
  99.             },
  100.                 body: '{ "command": "create", "bucketName":"'+bucketname+'" }'
  101.             }).then(function(data){
  102.                 getList();
  103.             });
  104.            
  105.         }
  106.        
  107.         function uploadFile(){
  108.             var fileName = $('#fileName').val();
  109.             var bucketname = $('#bucketName').val();
  110.             var fr = new FileReader();
  111.             fr.onload = function () {
  112.                 var data = fr.result;  // data <-- in this var you have the file data in Base64 format
  113.                var fileData = data;
  114.                fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  115.                method: 'POST',
  116.                headers: {
  117.                        'Accept': 'application/json',
  118.                        'Content-Type': 'application/json'
  119.                },
  120.                    body: '{ "command": "upload",  "bucketName":"'+bucketname+'", "fileName":"'+fileName+'", "fileData":"'+fileData+'" }'
  121.                }).then(function(dataa){
  122.                    listDirectory();
  123.                });
  124.            };
  125.            fr.readAsText($('#fileData').prop('files')[0]);
  126.            
  127.            
  128.        }
  129.  
  130.        function listDirectory(){
  131.            var bucketname = $('#addBucket').val();
  132.            if( bucketname == "" )
  133.                return;
  134.            fetch('https://4xrmhgph7b.execute-api.eu-west-3.amazonaws.com/first', {
  135.            method: 'POST',
  136.            headers: {
  137.                    'Accept': 'application/json',
  138.                    'Content-Type': 'application/json'
  139.            },
  140.                body: '{ "command": "dir_list", "bucketName":"'+bucketname+'" }'
  141.            }).then(function(data){
  142.                $('#bucketList').val(data);
  143.                $('#bucketList').text("");
  144.                data.json().then(function(bodyData){
  145.                    for(var el in bodyData){
  146.                        $('#bucketList').append("<a href='https://s3.eu-west-3.amazonaws.com/"+bucketname+"/"+bodyData[el] +"'>"+bodyData[el]+"</a>")
  147.                         $('#bucketList').append("<br>");
  148.                     }
  149.                     console.log(bodyData);
  150.                     // $('#bucketList').text(bodyData);
  151.                 });
  152.             });
  153.            
  154.         }
  155.        
  156.     </script>
  157.         <div class = "border">
  158.         РАБОТА С БАКЕТАМИ
  159.         <br>
  160.         <button onClick="getList();">Список бакетов</button> &nbsp;&nbsp;Показать список бакетов
  161.         <br>
  162.         <div id='bucketList'></div>
  163.  
  164.         <br><br>
  165.         <input id="addBucket" type="text">
  166.         <br><br>
  167.         <button onclick="createBucket()">
  168.         Создать Bucket
  169.         </button>
  170.         <br><br>
  171.         <button onclick="deleteBucket()">
  172.         Удалить Bucket
  173.         </button>
  174.         <br><br>  
  175.         <button onclick="listDirectory()">
  176.         Содержимое бакета
  177.         </button>
  178.        
  179.         </button>
  180.         <br><br>
  181.         </div>
  182.        
  183.         <div class = "border">
  184.         <br><br>
  185.         ЗАГРУЗКА ФАЙЛА
  186.         <br>
  187.         <input id="bucketName" type="text">
  188.         Имя исходного бакета
  189.         <br><br>
  190.         <input id="fileName" type="text">
  191.         Имя файла
  192.         <br><br>
  193.         <input type="file" name="fileData" id="fileData">
  194.         <br><br>
  195.         <button id="copyFile" onClick="uploadFile()">
  196.         Загрузить файл
  197.         </button>
  198.         <br><br>
  199.         <button onclick="deleteFile()">
  200.         Удалить файл
  201.         </div>
  202.  
  203.  
  204.     </div>
  205.     </body>
  206.     </div>
  207.     </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement