【问题标题】:iFrame Refresh and some design ?'siFrame 刷新和一些设计?
【发布时间】:2012-05-19 13:05:08
【问题描述】:

我正在学习使用 Microsoft.NET Framework 4 的 Web 应用程序。在阅读本书时,我正在编写我公司想要的网站原型。我的公司向客户销售报告。他们希望有一个网站,当客户登录时,他们可以查看所有购买的报告(目前没有商店)。

我的设计是: - 包含多个用户名、报告名称和报告文件路径的数据库表。 - 服务器将有权访问的包含实际文件 (PDF) 的文件存储。 - 用户登录后将查询数据库的网站,获取属于用户的所有报告行,列出它们,并有一个点击事件将 iframe src 更改为所选报告的文件路径。

我的大部分工作都在工作。我有数据库查询工作,报告图标根据查询的内容填充,点击事件将 iFrame 的 src 属性更改为文件路径。

我没有工作的是,我无法让 iFrame 显示报告。如果我在 wesite 中包含的文件夹中有一份报告并对其进行了硬编码,则它显示得很好。如果我将硬编码值更改为U:\\somefolder\someusername\somereport1.pdf,它将不会显示(U: 是映射驱动器)。当我通过单击报告图标将源更改为U:\\somefolder\someusername\somereport2.pdf 时,它肯定不起作用。

这是一个声音设计吗?看来我已经很接近让它工作了。 src属性改变时iFrame会自动刷新吗?

任何帮助将不胜感激, 里昂

【问题讨论】:

  • 对不起。我也不知道你指的是什么。你能澄清一下吗?
  • 出于安全原因,我认为 iframe 不能显示文件。为什么不直接使用 url 给出 pdf 文件?
  • Aristos,抱歉无知。我很新。 PDF 不会存储在站点上,它们将存储在 Web 服务器也可以访问的文件系统中。我理解正确吗?
  • Raminson,我还没有正确回答其他 2 个问题。我不得不使用非常丑陋的树遍历来从自定义控件中获取文件路径。我有 cmets 寻求进一步的帮助。不过谢谢你照顾我:)
  • 您仍然需要放置 url 而不是文件路径。您可以使用可以从 u:\\ 读取它们并发送给用户的处理程序。

标签: jquery asp.net visual-studio-2010 pdf iframe


【解决方案1】:

当您更改 iframe 的 src 时,您是在告诉浏览器去获取该 URL 中的任何内容。由于浏览器无法访问文件存储,只有 Web 服务器,它无法下载文件。如果您使用浏览器开发者工具查看网络流量,您会看到每次更新 iframe 时都会返回 404。

浏览器要么需要直接访问 PDF 的位置,尽管这没有安全性,要么网站必须代理它们以允许它首先检查用户权限。

【讨论】:

  • 感谢 roryf 的输入 :) 你能指出一些关于网站如何使用这样的代理的材料吗?我很新,这似乎很先进:)
猜你喜欢
  • 2012-08-13
  • 2012-08-20
  • 2011-03-15
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
  • 2016-05-17
相关资源
最近更新 更多