我正在尝试在我的React应用程序中添加指向网络文件的链接,以便单击该文件时就可以下载它。像这样:
<a href="\\server\Test\test.xlsx">Direct link Test</a>
在常规的html页面中它可以正常工作,但是在Chrome的ReactJS应用中,出现错误:
不允许加载本地资源:file://server/Test/test.xlsx
对此有任何建议或解决方法吗?我尝试了各种正斜杠,反斜杠,window.open等。
更新: 当我在浏览器中检查链接时,该路径似乎以站点根URL开头。因此,当我将鼠标悬停在代码检查器中的路径上时,会看到以下内容:
http://some-intranet-site.com/\ \ server \ Test \ test.xlsx
“ / \\”不是错字。
答案 0 :(得分:0)
尝试将target="_blank"
添加到标签中
注意:正如其他人提到的那样,这只是一项工作。解决此问题的最佳方法是向端点发出http请求。
答案 1 :(得分:0)
使用定位标记上的下载属性。
<a href="\\server\Test\test.xlsx" download>Direct link Test</a>
请记住,这不是实现此目的的好方法。诸如此类的最佳做法是对端点进行http调用,或使用javascript的fetch方法
答案 2 :(得分:-1)
首先导入文件,然后尝试处理下载功能。检查以下代码。
import template from '../server/Test/test.xlsx';
...
...
...
<input type="button" onClick={() => setTimeout(() => window.open(template), 100)} value="Download file" />
这将为您服务!