如何将嵌入元素类型从PDF流切换到文本流

Roo*_*007 9 html java embed pdf java-ee

在我的JSP Web应用程序中,我使用embed元素来显示PDF.

<embed src="someurl" width="900">
Run Code Online (Sandbox Code Playgroud)

someurl会在一种情况下,并在另一种情况下的文本流返回一个PDF流:

if (IamPDF) {
    response.setContentType("application/pdf");
    /* rest of stream flushing */
} else {
    response.setContentType("text/html");
    /* rest of stream flushing */
}
Run Code Online (Sandbox Code Playgroud)

我可以在IE和Chrome中刷新PDF流而没有问题.如果是文本流,IE无法显示流,但它在Chrome中正常工作.我没有在embed元素中指定任何类型.如何让它在IE中运行?

小智 1

您可以通过设置元素type的属性来解决此问题embed

\n\n

对于 HTML

\n\n
<embed src="someurl" type="text/html" width="900">\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于 PDF

\n\n
<embed src="someurl" type="application/pdf" width="900">\n
Run Code Online (Sandbox Code Playgroud)\n\n

引用元素embed规范

\n\n
\n

type属性(如果存在)给出了选择要实例化的插件的 MIME 类型。该值必须是有效的 MIME 类型。如果该type属性和该src属性都存在,则该属性必须指定与该属性给定的资源的显式Content-Typetype元数据相同的类型。src

\n
\n\n

已删除指向 MIME 类型和有效 MIME 类型的链接,它们\xe2\x80\x99 不相关。

\n