Comment afficher une image dans ReactJS à partir de localhost

0

La question

J'ai utilisé PHPmyAdmin que mon localhost, Axios faire backend fonctions et de réagir à afficher sur la page web, j'ai créé une table qui stocke un IDENTIFIANT et d'un Blob, depuis blob peut stocker des données d'image. J'ai utilisé de l'état de crochets et de rendre chacun de l'élément à afficher sur la page, mais quand je le rendu de la page, une image est affichée. J'ai essayé de la console.log() sur les données de l'image et de l'afficher comme {type: 'Tampon', data: Array(50639)} sur la console du navigateur.

En bref, je suis en train d'essayer de récupérer une image à partir d'une table dans le localhost et de l'afficher sur le navigateur

Réagir


function ProjectCard() {

    const [projectCard, setProjectCard] = useState([]);

    const instance = axios.create( {
        baseURL: "http://localhost:3001/api",
    });

    useEffect(() => {
        instance.get("/getAvailableProjects").then((response) => {
            setProjectCard(response.data);
        });
    }, []);

    return (
        <div className="row g-4 py-4 border-bottom">
            {projectCard.map((val) => {
                return (
                    console.log(val.PROJECT_IMAGE) {/* displayed as {type: 'Buffer', data: Array(50639)} */}
                    <div className="col-lg-3 col-md-6 mb-2" key={val.PROJECT_ID}>
                        <img id="project-img" src={val.PROJECT_IMAGE} className="img-fluid" /> {/* BROKEN IMAGE */}
                    </div>
                );
            })}
       </div>
    )
};

export default ProjectCard;

Serveur



app.get("/api/getAvailableProjects", (req, res) => {

    const sqlQuery = "SELECT *,  from projectdetail";

    db.query(sqlQuery, (_error, result) => {
        res.send(result);
    });
});

Est-il un moyen de convertir ces données blob dans une image réelle?

axios blob reactjs
2021-11-23 06:15:36
1

La meilleure réponse

1

Caisse JS objet:

<img src={URL.createObjectURL(file) alt="fooBar" />

Il devrait ressembler à ceci.

URL.createObjectURL: https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL

2021-11-23 06:24:29

J'ai essayé de créer un URL, mais il n'y a pas d'affichage de la page. J'ai de la console.log() de nouveau et il m'a donné une valeur de "blob:localhost:3000/e1f1a190-955a-4f03-9f46-83a1934d8837"
Irving Real

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................