javascript如何将一些内容流式传输给用户?

时间:2009-03-18 16:30:39

标签: javascript stream

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

所以这就是我所做的。我使用标准的XmlHttpRequest发出请求并得到了我的字节。现在我想我可以将这些内容传递给用户,首先打开一个标准对话框(当你尝试从网上下载某些内容时弹出的框,其中包含打开/保存/取消等选项)然后要求用户保存它某处。

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

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

4 个答案:

答案 0 :(得分:1)

您需要将浏览器指向一个返回“Content-Type”标题为“application/octet-stream”的网址,而不是使用Javascript来流式传输内容。在大多数情况下,这将强制浏览器启动“另存为”操作并询问用户如何处理它。

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

答案 1 :(得分:0)

如果我理解你的问题是什么,那么你想用JavaScript来编写像服务器端脚本那样的数据(php,python,java等等),但是在浏览器中呢?

如果是这样,那么您在浏览器JavaScript中无法提出的要求。

但是,如果由于某种原因你想用服务器端JavaScript做这个,那么是“流”部分是可能的。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

您可能需要查看声称可以将自己写入磁盘的TiddlyWiki ...