uploader.html 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>ArduRemoteID Firmware Update</title>
  6. <meta name="description" content="ArduPilot RemoteID Module.">
  7. <link rel="stylesheet" type="text/css" href="styles/main.css">
  8. <script src='js/jquery.min.js'></script>
  9. </head>
  10. <body>
  11. <h1>ArduRemoteID Firmware Update</h1>
  12. <form method='POST' action='#' enctype='multipart/form-data' id='upload_form'>
  13. <input type='file' name='update'>
  14. <input type='submit' value='Update'>
  15. </form>
  16. <div id='progress'>upload progress: 0%</div>
  17. <script>
  18. $('form').submit(function(e) {
  19. e.preventDefault();
  20. var form = $('#upload_form')[0];
  21. var data = new FormData(form);
  22. $.ajax({
  23. url: '/update',
  24. type: 'POST',
  25. data: data,
  26. contentType: false,
  27. processData:false,
  28. xhr: function() {
  29. var xhr = new window.XMLHttpRequest();
  30. xhr.upload.addEventListener('progress', function(evt) {
  31. if (evt.lengthComputable) {
  32. var per = evt.loaded / evt.total;
  33. $('#progress').html('progress: ' + Math.round(per*100) + '%');
  34. }
  35. }, false);
  36. return xhr;
  37. },
  38. success:function(d, s) {
  39. console.log('success!')
  40. },
  41. error: function (a, b, c) {
  42. }
  43. });
  44. });
  45. </script>
  46. </body>
  47. </html>