filedrophandler.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!DOCTYPE html>
  2. <html>
  3. <!--
  4. Copyright 2010 The Closure Library Authors. All Rights Reserved.
  5. Use of this source code is governed by the Apache License, Version 2.0.
  6. See the COPYING file for details.
  7. -->
  8. <head>
  9. <title>goog.events.FileDropHandler Demo</title>
  10. <script src="../base.js"></script>
  11. <script>
  12. goog.require('goog.debug.DivConsole');
  13. goog.require('goog.dom');
  14. goog.require('goog.events.FileDropHandler');
  15. goog.require('goog.log');
  16. </script>
  17. <link rel="stylesheet" href="css/demo.css">
  18. </head>
  19. <body>
  20. <h2>Demo of goog.events.FileDropHandler</h2>
  21. <fieldset>
  22. <legend>Demo of the <strong>goog.events.FileDropHandler</strong>:</legend>
  23. <label>goog.events.FileDropHandler detects file drag and drop events in
  24. elements. Try dropping a file in the textarea below and watch the event
  25. log at the bottom of the page. Try dropping some text too.<br></label>
  26. <textarea id="drop-zone" rows="5" cols="50"></textarea>
  27. </fieldset>
  28. <fieldset class="goog-debug-panel">
  29. <legend>Event Log</legend>
  30. <div id="log" style="height: 400px;"></div>
  31. </fieldset>
  32. <script>
  33. var dropZone = goog.dom.getElement('drop-zone');
  34. var handler = new goog.events.FileDropHandler(dropZone, true);
  35. var logger = goog.log.getLogger('demo');
  36. goog.events.listen(handler, goog.events.FileDropHandler.EventType.DROP,
  37. function(e) {
  38. goog.log.log(logger, goog.log.Level.SHOUT, 'DROP event detected!');
  39. goog.log.info(logger, 'dataTransfer:\n' +
  40. goog.debug.deepExpose(e.getBrowserEvent().dataTransfer));
  41. var files = e.getBrowserEvent().dataTransfer.files;
  42. for (var i = 0; i < files.length; i++) {
  43. // If you want to access the filename you should try both
  44. // alternatives.
  45. var file = files[i];
  46. var fileName = file.name || file.fileName;
  47. goog.log.info(logger, 'File name: ' + fileName);
  48. // Sample code to upload the dropped files (commented out).
  49. // var xhr = new goog.net.XmlHttp();
  50. // xhr.open('POST', 'http://www.myserver.com/upload');
  51. // xhr.send(file);
  52. }
  53. });
  54. goog.debug.LogManager.getRoot().setLevel(goog.log.Level.FINER);
  55. var logconsole = new goog.debug.DivConsole(goog.dom.getElement('log'));
  56. logconsole.setCapturing(true);
  57. </script>
  58. </body>
  59. </html>