首頁  >  問答  >  主體

圖像未在頁面中加載

我想在網頁應用程式中載入滑動圖像,為此我使用 Bootstrap 輪播。從後台取得圖片。影像儲存在影像狀態中。下面是取得資料的 JSON 格式。

images:[
{
SNO:'1',
NAME:'image.jpg',
PIC_NAME:'image'
}
]

上傳圖像後,它們儲存在 Nodejs 中的一個特殊資料夾中,從那裡,我使用端點提取圖像。下面是 Nodejs 程式碼

images.get('/Images/getImages/:slug', function(req, res) {
    var options = {
        root: path.join(__dirname, '/images')
    }
    res.sendFile(req.params.slug, options);
})

下面是用於在 Web 應用程式中取得和顯示圖像的 ReactJs 程式碼:

import React, { useState, useEffect } from "react";
import './landingPage.css'
import Instance from "../Axios/Instance";
const Carousal = () => {
    const [images, setImages] = useState([]);
    useEffect(() => {
        fetchImages();
    }, [])
    async function fetchImages() {
        const result = await Instance.get('/carousalimages/getImages');
        setImages(result.data);
    }
    console.log(images);
    return (
        <React.Fragment>
            <div id="carouselExample" class="carousel slide">
                <div class="carousel-inner">
                    {
                        images.map((pic) => {
                            return (
                                <div class="carousel-item">
                                    <img src={`http://localhost:1200/Images/getImages/${pic.NAME}`} class="d-block w-100" alt={`${pic.PIC_NAME}`} />
                                </div>
                            )
                        })
                    }
                </div>
                <button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" data-bs-slide="prev">
                    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                    <span class="visually-hidden">Previous</span>
                </button>
                <button class="carousel-control-next" type="button" data-bs-target="#carouselExample" data-bs-slide="next">
                    <span class="carousel-control-next-icon" aria-hidden="true"></span>
                    <span class="visually-hidden">Next</span>
                </button>
            </div>

        </React.Fragment>
    )
}

export default Carousal;

但不知道為什麼圖像沒有在應用程式中載入。請幫忙並解釋一下。 另外,我使用端點來獲取 img src 中的圖像,如下面的程式碼

<img src={`http://localhost:1200/Images/getImages/${pic.NAME}`} class="d-block w-100" alt={`${pic.PIC_NAME}`} />

如果有更好的方法,請提出。

P粉238433862P粉238433862430 天前576

全部回覆(1)我來回復

  • P粉754473468

    P粉7544734682023-09-10 14:00:03

    我懷疑客戶端和伺服器之間的網路錯誤。由於我假設伺服器從不同的連接埠運行,因此它應該允許從運行 React 應用程式的連接埠(大概是 3000)進行 CORS 配置。透過檢查開發工具,尤其是控制台選項卡,您可以輕鬆找出答案。

    為什麼不將圖像儲存在 React 應用程式靜態資料夾中?影像每次都是動態建立的嗎?

    回覆
    0
  • 取消回覆