我有一个文件名为“屏幕截图2552018-09-10,位于08.17.168768792378923879423789324789234789234789023478943829009892009872438787990724490237842378947289379802323478923478974283923487943287937428928978932478394789873989389324789284078978978978978978978970870897890497890432879(1).png”和我的代码是。这在Chrome浏览器中工作正常,但在Safari中却不能。Safari会为路径URL中的某些内容更改文件名。
例如:URL为localhost:8080 / app / documents / 771,因此此文件被重命名为771
Safari 14
铬
码
<h:commandLink value="#{document.fileName}" ajax="false" immediate="true"
onclick="PrimeFaces.monitorDownload(PF('blockUIWV').show(), PF('blockUIWV').hide()); _paq.push(['trackEvent', 'Documents', 'Download document,'Download']);">
<p:fileDownload value="#{bean.downloadDocument(document.myDocument)}" />
</h:commandLink>
我看到HTML5具有下载属性,因此我尝试强制使用它。
码
<h:commandLink value="#{document.filename}" ajax="false" immediate="true"
pt:download="#{document.filename}
onclick="PrimeFaces.monitorDownload(PF('blockUIWV').show(), PF('blockUIWV').hide()); _paq.push(['trackEvent', 'Documents', 'Download document,'Download']);">
<p:fileDownload value="#{bean.downloadDocument(document.myDocument)}" />
</h:commandLink>
即使进行了此更改,文件的名称也不正确。但现在的名称是“文档”(我的网址的一部分)。Safari有什么问题,我该如何解决?
环境
Primefaces 6.2
JSF 2
因此,研究后,我认为您应该将此问题报告给Apple。
参见PF票:https : //github.com/primefaces/primefaces/issues/6327
此文件名在Chrome,Firefox,MS Edge中可以正常工作。它仅在Safari中不起作用。
在PF 9.0中,我们添加了一项新功能AJAX File Download,它可以正常工作https://github.com/primefaces/primefaces/issues/5978,而Safari会正确下载文件名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句