在浏览器中,我正在尝试使用iframe预览文件(Word文档):
<table>
foreach(parent-row in parent-table)
{
<tr>
<!-- parent table data of each row in "td"s with rowspan -->
foreach(child-row in child-table) // this loop will iterate only once
{
<!-- child table data of first row in "td"s without rowspan -->
}
<!-- remaining parent table data of each row in "td"s with rowspan -->
</tr>
<!-- parent table row with first row of child table for that parent table row created -->
<!-- creating the remaining rows of the child table -->
foreach(child-row in child-table) // this loop will iterate (rowspan - 1) times
{
<tr>
<!-- child table data of each row except first row in "td"s without rowspan -->
</tr>
}
} // parent table row with its corresponding child table fully constructed
</table>
(如果相关,则为图书馆:http://viewerjs.org)
在服务器端,我正在从流(MongoDB / GridFS)中检索文件,然后将其传送到res对象。相关代码是:
<iframe style="float:right;" src = "/ViewerJS/#../demo/ohm2013.odp" width='400' height='300' allowfullscreen webkitallowfullscreen></iframe>
在浏览器端,这会在本地下载文件而不是预览文件。
如何让浏览器预览我的文件而不是下载?
答案 0 :(得分:1)
您只能向浏览器建议如何处理该文件;最终取决于浏览器及其配置。
我认为默认行为是尝试以内联方式显示内容,但可能不会针对某些类型;您可以在发送任何数据之前使用Content-Disposition
在响应中使用值inline
发送res.set
标头明确建议内联显示:
res.set("Content-Disposition", "inline");
建议向浏览器显示内联文件,而非提供保存文件。但同样,浏览器仍然可以提供保存它。