按钮以在reactJS中下载文件

时间:2019-07-17 20:40:38

标签: javascript reactjs

我目前正在处理个人档案,我试图创建一个按钮,如果单击该按钮,应下载简历。

代码

<form method="get" action="fileName">
        <button class="myButton" type="submit">Download!</button>
</form>

让用户下载文件。

我正在使用REACTJS,create-react-app

3 个答案:

答案 0 :(得分:0)

您可以通过这种方式完成

<a href="./yourfile.pdf" download> Download CV</a>

答案 1 :(得分:0)

我有完全相同的问题,这是我现在使用的解决方案:

步骤

3个步骤:

  1. 在项目中使用文件保护器npmjs/package/file-savernpm install file-saver之类的东西)
  2. 将文件放置在项目中:您说它位于components文件夹中。好吧,很有可能是如果您有Web Pack,它将尝试将其最小化(请有人在组件文件夹中指出Webpack对资产文件的作用),所以我认为这不是您想要的。因此,我建议将资产放在publicresource名称下的asset文件夹中。 Webpack不会碰到public文件夹和index.html,您的资源将按原样复制到生产版本中,您可以在其中引用它们,如下一步所示。
  3. 请参考您项目中的文件示例代码:
    import FileSaver from 'file-saver';
    FileSaver.saveAs(
        process.env.PUBLIC_URL + "/resource/file.anyType",
        "fileNameYouWishCustomerToDownLoadAs.anyType");
    

来源

附录

没有用,这里还是很好的答案:

答案 2 :(得分:0)

您可以使用FileSaver.js来实现此目标:

安装npm软件包:npm install file-saver --save

const saveFile = () => {
fileSaver.saveAs(
  process.env.REACT_APP_CLIENT_URL + "/resources/cv.pdf",
  "MyCV.pdf"
);

};

<button className="cv" onClick={saveFile}>
    Download File
</button>