ローカルに保存してあるファイルを読込む

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>ローカルに保存してあるファイルを読込む</title>
  6. <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
  7. <script type="text/javascript" src="knockout-2.1.0beta.js"></script>
  8. <script type="text/javascript">
  9.   function ViewModel() {
  10.     var self = this;
  11.     self.loadFile = ko.observable();
  12.     self.localFile = function(a, b) {
  13.       var fileList = b.target.files;
  14.       
  15.       var reader = new FileReader();
  16.       reader.onload = function(){
  17.         // ファイル読み込み完了時
  18.         a.loadFile(reader.result);
  19.       }
  20.       reader.readAsText(fileList[0], "utf-8");
  21.     };
  22.   }
  23.   $(document).ready(function () {
  24.     ko.applyBindings(new ViewModel());
  25.   });
  26. </script>
  27. <style type="text/css"></style>
  28. </head>
  29. <body>
  30. <h1>ローカルに保存してあるファイルを読込む</h1>
  31. <div>
  32. <input type="file" data-bind="event: {change: localFile}" />
  33. </div>
  34. ▼読込んだファイルを表示
  35. <div style="padding:0.5em;border:1px solid #ccc; background:#f5f5f5;" data-bind="text: loadFile"></div>
  36. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  37. <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  38. <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  39. </div>
  40. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  41. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  42. </div>
  43. </body>
  44. </html>