【问题标题】:How can I create a file for storage on the client side with JavaScript?如何使用 JavaScript 在客户端创建用于存储的文件?
【发布时间】:2010-10-16 18:05:40
【问题描述】:

我需要创建一个临时文件来在客户端存储用户设置。是否可以使用 JavaScript 创建一个简单的日志文件?

【问题讨论】:

  • 我不这么认为。您可以通过某种可以访问客户端磁盘的插件来让它说话。但是,您为什么需要客户端日志?我认为这是非常不寻常的。
  • 您将在哪里创建此日志文件?由客户端你的意思到底是什么。?通常这是不可能的!!!

标签: javascript file client-side


【解决方案1】:

你有几个选择:

  • Cookie
  • 本地存储
  • 数据库

查看此链接:

只能在 IE 中使用 ActiveX 对象创建文件。

【讨论】:

    【解决方案2】:

    如果您想存储用户设置,您应该

    1. 使用 cookie
    2. 在服务器上存储客户端信息

    网页访问个人硬盘的能力是危险的。但是,正如 Trey 在下面指出的,您可以使用:

    【讨论】:

    • 在客户端存储信息还有其他一些选项(例如 HTML5 存储),但 cookie 是最合理的选择。 Evercookie 使用许多替代存储方法:samy.pl/evercookie
    • 有效点和值得一提的编辑答案。它是比 FSO 更好的选择。
    【解决方案3】:

    如果您可以忍受用户必须主动存储文件,Downloadify 允许您即时生成客户端“下载”。

    【讨论】:

      【解决方案4】:

      你不能!这违反了浏览器安全协议。

      浏览器中的所有客户端代码(HTML/CSS/Java-Script)都应该在安全沙箱中执行。一旦你关闭浏览器会话,这个沙箱就会被销毁。此沙盒可保护您的本地文件系统免受恶意攻击。

      理想情况下,如果您能够做到这一点,那么只需浏览几个链接,这些网站就应该能够在您这样做时在您的系统上编写病毒!!

      【讨论】:

        【解决方案5】:

        由于存在安全限制,您不能即时创建文件到客户端

        但我在 JavaScript 文件中找到了一篇不错的文章,看看 http://www.nczonline.net/blog/2012/05/31/working-with-files-in-javascript-part-4-object-urls/

        【讨论】:

          【解决方案6】:

          还是试试吧

          var fso = new ActiveXObject("Scripting.FileSystemObject");
          varFileObject = fso.OpenTextFile("C:\\Sachin.txt", 2, true,0); // 2=overwrite, true=create if not exist, 0 = ASCII
          varFileObject.write("File handling in Javascript");
          varFileObject.close();
          

          http://www.codeproject.com/KB/scripting/JavaScript__File_Handling.aspx

          但我认为您不必进行此类实验。您可以使用服务器端语言创建和执行许多文件操作。这更好

          【讨论】:

          • 这不是只有 Windows/IE 吗?
          【解决方案7】:

          可让您在客户端创建纯文本文件(或图像文件或富文本文件)以供下载的库是 FileSaver.js

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-12-15
            • 2014-02-18
            • 1970-01-01
            • 1970-01-01
            • 2017-04-14
            • 1970-01-01
            • 2013-09-30
            相关资源
            最近更新 更多