【问题标题】:How can javascript stream some contents to the user?javascript 如何将某些内容流式传输给用户?
【发布时间】:2009-03-18 16:30:38
【问题描述】:

我需要一个 Javascript 示例,它从 url 读取内容并在单击某个按钮时在客户端中创建一个具有相同内容的文件。我也明白不能允许 Javascript 访问本地文件系统(除非你使用 ActiveX 对象)。我不想依赖 ActiveX 对象(因为我的客户端并不总是 IE)。

这就是我所做的。我使用标准的 XmlHttpRequest 发出请求并得到我的字节。现在我想我可以将这些内容流式传输给用户,首先打开一个标准对话框(当您尝试从 Internet 下载内容时弹出的框,带有打开/保存/取消之类的选项),然后要求用户保存它某处。

我知道如何阅读部分,有人可以在“如何向用户流式打开确认对话框并流式传输一些内容”上显示一些 javascript/html 示例吗?

PS:不太确定这是否可以在 javascript 中完成,但使用 Javascript 你永远不知道什么是可能的,什么是不可能的:)

【问题讨论】:

    标签: javascript stream


    【解决方案1】:

    您需要将浏览器指向一个返回“Content-Type”标头“application/octet-stream”的 URL,而不是使用 Javascript 流式传输内容(出于明显的安全原因这是不可能的)。在大多数情况下,这将强制浏览器启动“另存为”操作并询问用户如何处理它。

    我相信可以在同一页面中使用 iframe 来执行此操作,这样用户就不必离开页面或打开新的标签/窗口。

    【讨论】:

      【解决方案2】:

      这样看:如果您可以使用 JavaScript 读取/写入用户的计算机,那么没有计算机可以安全地浏览网页。

      话虽如此,您无法使用 JavaScript 读取/写入客户端文件。

      但如果您使用 Flash/Java 小程序,则可以;在这些情况下,嵌入式对象会在执行此类操作之前请求您的许可。

      【讨论】:

        【解决方案3】:

        您可能想看看 TiddlyWiki 声称它可以将自己写入磁盘...

        【讨论】:

          【解决方案4】:

          如果我理解您的问题,那么您想使用 JavaScript 在浏览器中编写数据,就像服务器端脚本(PHP、Python、Java 等)一样?

          如果是这样,那么您的问题在浏览器 JavaScript 中是不可能的。

          但是,如果出于某种原因您想使用服务器端 JavaScript 执行此操作,那么“流”部分是可能的。

          【讨论】:

            猜你喜欢
            • 2010-10-18
            • 1970-01-01
            • 1970-01-01
            • 2016-09-29
            • 1970-01-01
            • 1970-01-01
            • 2018-03-10
            • 2021-03-23
            • 1970-01-01
            相关资源
            最近更新 更多