贴一段用javascript打开和保存本地文件的源码

<object   id="fileDialog"   width="0px"   height="0px"   classid="clsid:F9043C85-F6F2-101A-A3C9-08002B2F49FB"   codebase="http://activex.microsoft.com/controls/vb5/comdlg32.cab">  
  </object>  
  <textarea   id=TxtBody   style="background-color:#EEEEEE;width:100%;height:100">无标题</textarea>  
  <br>  
  <input   type=button   value=加载   onclick="loadDoc()">  
  <input   type=button   value=保存   onclick="saveDoc()">  
  <script>  
  function   loadDoc()  
  {  
  fileDialog.CancelError=true;  
        try{  
        fileDialog.Filter="HTM   Files   (*.htm)|*.htm|Text   Files   (*.txt)|*.txt";  
          fileDialog.ShowOpen();  
        var   fso=new   ActiveXObject("Scripting.FileSystemObject");  
        var   reading=1;  
        var   f=fso.OpenTextFile(fileDialog.filename,reading);  
        //window.confirm(f);  
        var   r=f.ReadAll();  
        f.close();  
        TxtBody.value=r;  
        }catch(e){}  
  }  
  function   saveDoc()  
  {  
  fileDialog.CancelError=true;  
      try{  
      fileDialog.Filter="HTM   Files   (*.htm)|*.htm|Text   Files   (*.txt)|*.txt";  
      fileDialog.ShowSave();  
      var   fso=new   ActiveXObject("Scripting.FileSystemObject");  
      var   f=fso.CreateTextFile(fileDialog.filename,true);  
      f.write(TxtBody.value);  
      f.Close();  
      }  
      catch(e){}  
  }  
  </script>  
  </body>  
posted @   拿走不谢  阅读(13830)  评论(7编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示