我知道如何下载一个文件时,点击一个按钮使用html
<a href="./abcf32x.pdf" download="How-to-download-file.pdf">
<button>Download File</button>
</a>
但是使用Material-UI组件我怎么能做到这一点呢
我有以下组件
<div>
<Button
variant="contained"
color="#ffa726"
size="large"
startIcon={<GetAppIcon />}
>
Download Sample Method File
</Button>
</div>
现在我想下载一个URL为http://localhost:8000/static/sample_method.py
的文件
我不想在浏览器中打开链接,然后做保存为,而应该得到直接下载。
6条答案
按热度按时间quhf5bfb1#
你已经在问题中得到了答案。而不是使用JSX语法使用
href
和download
属性声明a
元素。创建a
元素并以编程方式单击它:现场演示
enyaitl32#
根据docs,我认为这将工作,并在使用nextjs的情况下,不要忘记将该文件放在公共文件夹中
juzqafwq3#
您可以使用按钮的
onClick
事件处理程序来获取事件回调,并利用以下链接中的以下代码来下载文件。https://codesource.io/how-to-download-file-in-javascript/
ffscu2ro4#
您还可以使用
文件保存程序
下载您的文件。
要安装它,请运行:
npm i file-saver
然后你可以通过以下方式从包中调用saveAs函数:
第一个参数是要下载的URL,第二个参数是下载文件的文件名。
jhkqcmku5#
只需将download参数添加到Button元素中,如下例所示:
3vpjnl9f6#
正确的材质UI方式是: