【问题标题】:How to load server file in iframe?如何在 iframe 中加载服务器文件?
【发布时间】:2012-11-10 11:57:24
【问题描述】:

我使用这个代码:

<iframe src="@HttpContext.Current.Server.MapPath("~/Temp/sample.docx")" height="800" scrolling="no" align="top" frameborder="0" >
  <p>Your browser does not support iframes.</p>
</iframe>

但我收到此错误:

The address wasn't understood 

Firefox 不知道如何打开这个地址,因为协议 (d) 没有与任何程序关联。

您可能需要安装其他软件才能打开此地址。

【问题讨论】:

  • 文件是服务器本地的还是客户端浏览器本地的?我有点假设服务器基于您的语法,但无论是哪种语言(可能是 ASP.Net?),您可能还想为它标记您的问题(它不是 javascript)
  • 您是否使用服务器端语言来生成 src 属性中的内容?
  • this answer 的建议而言,这是不可能的。考虑将文件上传到您的网络服务器并链接到它
  • 是的,抱歉,它是基于服务器的。我应该使用
  • @gel 你的意思是文件是基于服务器的还是你正在使用基于服务器的代码(嗯......你是。我只是确保你知道你是,该代码将是如果那是到达客户端的 html,绝对没有帮助)?

标签: asp.net html


【解决方案1】:

如果你使用的是 ASP.NET MVC,那么 src 必须这样写:

src="@Url.Content("/Temp/sample.docx")"

【讨论】:

  • src="@Url.Content("/Temp/sample.docx")" - 这个让我下载文件,但我只需要它显示在我的 iframe 上谢谢 :)
  • @gel 这是浏览器实现。如果浏览器具有兼容的插件并且已设置为显示该类型的内容而不是下载它,它将显示。除非您变得更复杂,否则您不能用您的代码强制执行此操作,例如,Alfresco CMS(以及我相信的其他 CMS)通过使用转换器将 word 文档/pdf/其他任何内容更改为 flash 来实现此功能,然后显示在这页纸。即使在这种情况下,它也只适用于安装了 flash 的用户
  • 这是另一个问题,请参阅stackoverflow.com/questions/3162989/…
  • 我尝试将 word doc 转换为 html 文件,我现在可以将 file:///D:/Projects/sample.htm 浏览到不同的浏览器,但在 iframe 中仍然无法使用。它显示为空白。
  • 如果你想浏览html文件,你应该加载它。 加载html
猜你喜欢
  • 2021-03-17
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 2012-05-25
  • 1970-01-01
相关资源
最近更新 更多