Spaces:
Sleeping
Sleeping
| import React, { useState } from 'react'; | |
| import axios from 'axios'; | |
| const AudioDownloader = () => { | |
| const [downloadUrl, setDownloadUrl] = useState<string | null>(null); | |
| const fileId = localStorage.getItem('uploadId'); | |
| console.log('Retrieved Upload ID:', fileId); | |
| const handleDownload = async () => { | |
| try { | |
| const server = import.meta.env.VITE_API_URL; | |
| const response = await axios.get(`${server}/download/${fileId}`); | |
| // Assuming the response.data contains the URL | |
| const url = response.data.url; | |
| // Set the download URL in the state | |
| setDownloadUrl(`${server}/${url}`); | |
| } catch (error) { | |
| console.error('Error fetching download URL:', error); | |
| } | |
| }; | |
| const handleClear = () => { | |
| // Clear the download URL from the state | |
| setDownloadUrl(null); | |
| }; | |
| return ( | |
| <div> | |
| <button onClick={handleDownload}>Download Audio</button> | |
| {downloadUrl && ( | |
| <div> | |
| <a href={downloadUrl} download={`downloadUrl`}> | |
| Download Link | |
| </a> | |
| <button onClick={handleClear}>Clear Download Link</button> | |
| </div> | |
| )} | |
| </div> | |
| ); | |
| }; | |
| export default AudioDownloader; | |