3

我正在尝试向我的 Flex 应用程序添加“文件预览”功能。我在 Flex 中有一个 LinkBut​​ton,当单击它时,应该在新的浏览器窗口中打开文件。我找到了一个有用的 actionscript 类,它可以正确格式化 POST 数据以将文件传递到 HTML 页面。文件 POST 数据放入一个 URLRequest 中,通过 URLLoader 发送到 HTML 页面。

我的问题是我对 Javascript 不是很有经验,而且我不知道如何告诉 HTML 页面显示 Flex 应用程序正在发送的文件。经过无数次的网络搜索,我决定在这里问。我不是要求任何人为我编写代码,我只需要一个好的起点(关键字、要阅读的 javascript 函数等)。

我想结合使用 HTML 和 Javascript 来获取 POST 数据并在浏览器中打开包含的文件。

其他重要信息:该文件需要在 IE8 中显示,并且显示的文件主要是图像文件、PDF 或 Word 文档。

编辑:这是我忘记提及的一些信息。我要显示的文件存储在数据库中。我从那里获取文件并将其作为 ByteArray 存储在自定义类中。然后我将 ByteArray 传递给我的助手类,该类格式化 POST 数据请求并将结果存储在 URLRequest.data 中。

这是我的请求的样子:

--lljcuqjclcnyicgrmwexayhafmkhiwfx

Content-Disposition: form-data; name="Filename"



arrows.png

--lljcuqjclcnyicgrmwexayhafmkhiwfx

Content-Disposition: form-data; name="Filedata"; filename="arrows.png"

Content-Type: image/png



?PNG

"image information as ByteArray"



--lljcuqjclcnyicgrmwexayhafmkhiwfx

Content-Disposition: form-data; name="Upload"



Submit Query

--lljcuqjclcnyicgrmwexayhafmkhiwfx--

所以我正在寻找一种方法(理想情况下使用 Javascript 和 HTML)来处理该请求并让浏览器显示文件(或者如果用户没有合适的插件来显示,则显示打开/保存对话框)。

4

1 回答 1

0

第一个简单案例要显示图像或 pdf(需要插件)

navigateToUrl(new URLRequest("http://localhost/images/hello.png"));

如果您想要将数据传递给 html 页面,您需要考虑以下代码

var req:URLRequest = new URLRequest("http://www.localhost/openfile.html");
req.data = "path='http://localhost/images/hello.png'";
req.method = URLRequestMethod.GET;
navigateToURL(req);

之后,您需要通过 Javascript 从 javascript GET 参数值中获取路径值,然后您可以解析 GET 参数,然后您可以使用 DOM 元素。

我认为我们无法仅从 JavaScript 获取 POST 值,我们需要使用服务器脚本。带有 jquery 的后变量

在浏览器中打开 MS Words 将有助于查看/打开 Word 文档。我不确定 Word Docs。

于 2012-11-29T07:09:39.400 回答