Spaces:
Running
Running
| const DownloadableJsonFile = ({ source, title }) => { | |
| const handleDownload = (event) => { | |
| event.preventDefault(); | |
| fetch(source) | |
| .then((response) => response.blob()) | |
| .then((blob) => { | |
| const url = window.URL.createObjectURL( | |
| new Blob([blob], { type: "application/json" }) | |
| ); | |
| const link = document.createElement("a"); | |
| link.href = url; | |
| link.setAttribute("download", title); | |
| document.body.appendChild(link); | |
| link.click(); | |
| link.parentNode.removeChild(link); | |
| }) | |
| .catch((error) => { | |
| console.error("Error downloading file:", error); | |
| }); | |
| }; | |
| return ( | |
| <a href={source} download={title} onClick={handleDownload}> | |
| {title} | |
| </a> | |
| ); | |
| }; | |
| export default DownloadableJsonFile; | |