我正在尝试通过从Rest端点请求它来打开PDF文件。但在这种情况下,文件正在下载。我试着在另一个窗口打开它。它只是显示新窗口并在那里下载。
我用过Chrome。因此,在Chrome中默认情况下会下载文件,而在Firefox中会显示对话框,无论是打开还是保存。我不想要那个对话框。但是想要在新窗口中显示文件,其中包含普通pdf查看器将显示的所有功能,如下载,打印等。
是否有一些方法可以避免默认情况下下载文件并在另一个窗口中显示该文件?当我看到URL的属性时,Content-Disposition为attachment; filename="abc.pdf"
。此外,其内容类型为application/pdf;charset=utf-8
。
<a target="_blank" data-content-type="application/pdf" onclick="open(this.href, this.target, 'fullscreen=yes'); return false;" data-type="downloadTenPointDocument" href="<c:out value="${resultItem.offer.programInfoUrl}"/>">View 10-point</a>
答案 0 :(得分:0)
您无法直接从REST端点执行此操作。 在页面上的锚元素中使用 target =&#34; _ blank&#34; 。
<a href="url_to_your_endpoint_generating_file.pdf" target="_blank">go</a>
答案 1 :(得分:0)
您应该尝试删除附件;来自内容处置标题的属性。
答案 2 :(得分:0)
我将pdf文件的属性从附件更改为内联并将其设置为响应:
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", "inline; filename=" + fileName + ".pdf");
我从服务器请求pdf文件然后读取它并将其设置为响应,在响应中更改它的属性,以便覆盖其下载的默认行为。
谢谢大家。改变pdf文件属性的答案是正确的。
答案 3 :(得分:0)
我确实喜欢它并且它有效:(它不会开始下载,如果相同的标签,它将在新的标签(目标_blank)中打开,然后是(目标_self)
<a href="<c:url value='resources/pdfs/your pdf(already in the project).pdf' />" target="_blank"> show pdf in a new tab</a>