我正在开发一个 Web 应用程序,我需要在
iframe
中显示文件预览。这些文件的内容类型为 application/octet-stream
,但浏览器不是预览内容,而是下载文件。
我尝试过使用具有不同配置的沙箱属性,但是当我添加
sandbox="allow-scripts allow-same-origin"
时,Chrome 会阻止内容,即使文件是 PDF(带有 application/pdf
)。
这是我当前的代码:
<div class="side-panel__content">
<iframe class="w-full h-full" src="@_filePreviewUrl" sandbox="allow-scripts allow-same-origin">
</iframe>
</div>
问题 1:当文件的 Content-Type 为
application/octet-stream
时,浏览器会下载文件而不是显示预览。
问题 2:当我添加沙箱属性时,即使文件是 application/pdf
,Chrome 也会阻止内容。
问题:有没有办法强制 iframe
在浏览器中呈现内容,即使文件的内容类型是 application/octet-stream
?是否有任何配置或解决方法可以处理沙盒和内容类型问题?
您需要更改服务器的内容类型。