File size: 886 Bytes
7dbf39c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// src/App.js
import React, { useState } from 'react';
import axios from 'axios';

function App() {
  const [generatedCaption, setGeneratedCaption] = useState('');
  const [audioPath, setAudioPath] = useState('');

  const handleImageUpload = async (event) => {
    const formData = new FormData();
    formData.append('image', event.target.files[0]);

    try {
      const response = await axios.post('http://localhost:5000/generate_caption', formData);
      setGeneratedCaption(response.data.generated_caption);
      setAudioPath(response.data.audio_path);
    } catch (error) {
      console.error('Error uploading image:', error);
    }
  };

  return (
    <div>
      <input type="file" onChange={handleImageUpload} />
      <p>Generated Caption: {generatedCaption}</p>
      <audio controls src={`http://localhost:5000/${audioPath}`} />
    </div>
  );
}

export default App;