【问题标题】:How can I create a .txt file using Jquery?如何使用 Jquery 创建 .txt 文件?
【发布时间】:2013-06-20 05:06:37
【问题描述】:

好的,这是我的域:example.com/index.html,我想在域中创建一个 .txt 文件。结果:example.com/file.txt 包含以下信息:

.js:

$('.saveButton').on('click', function (e) {
    e.preventDefault();
    $('.HTMLcontentTosave').html(); //save this html content into a file.txt
});

$.ajax 可能吗?

非常感谢!

【问题讨论】:

  • 你的意思是要保存在用户的桌面还是服务器上?
  • 我认为您必须将其传递给服务器端脚本
  • 如果你的意思是服务器,你可以使用 PUT Ajax 请求...如果用户的桌面,我不相信 jQuery 会帮助你,但某些浏览器允许保存本地文件的方法。
  • @Brett Zamir 是的,我想把它保存在服务器上。
  • 你使用什么服务器端语言?

标签: javascript jquery file


【解决方案1】:

在浏览器中仅使用 jQuery/javascript 以及通常配置的 Web 服务器,这是不可能的。服务端的文件系统没有以客户端直接可写的方式暴露,存在相当大的安全风险。

为此,您需要使用一些服务器端代码(例如 PHP)来协助在服务器上写入文件。此时,您可以将所需内容和文件名称作为请求发送到服务器端代码,然后该代码可以将其写入服务器文件系统上您所需的位置。

确保采用足够的保护措施,以便您指定的某些用户只能写入某些(安全)文件,否则您可能会打开前面提到的安全漏洞。

【讨论】:

  • 可以在客户端大小上实现下载。您可以设置从 url 下载的链接:data:text/plain;charset=UTF-8,data goes here。此下载不需要服务器之间的任何交互。
【解决方案2】:

这对你有帮助吗?

Saving a text file on server using JavaScript

另外,您可以通过this one

【讨论】:

    【解决方案3】:

    从技术上讲,“正确”的方法是发出一个 PUT 请求(“type”参数:参见 http://api.jquery.com/jQuery.ajax/),但这显然不是所有浏览器都支持的,一些服务器也可能默认阻止这些,所以你需要解决这个问题。我说“正确”的方式是因为 PUT 请求的目的是意味着结果是将文件保存在指定的位置。

    更常见的方法是允许 POST 请求,但您需要一个服务器端脚本来执行诸如验证用户是否有权发出请求之类的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多