2017-08-18 175 views
3

我正在構建一個應用程序以在我的React頁面上顯示圖像。圖像已上傳到本地文件夾。我將我的React應用程序與NodeJS服務器和MongoDB結合在一起。在ReactJS上顯示圖像

我想顯示保存在文件夾中的所有img。 我一直在嘗試使用該文件的路徑,但我不認爲它適用於img標記。

任何人都可以幫助澄清?

class showAllPhotos extends Component { 

    constructor(props) { 
    super(props) 

    this.state = { 
     library: [] 
    } 
    } 

    componentDidMount() { 
    axios.get('/all') 
    .then((response) => { 
     let arr = response.data; 
     console.log('arr', arr); 
     this.setState({ 
     library: arr 
     }); 
     console.log("response data", arr); 
     console.log('library it worked', response.status); // ex: 200 
    }) 
    .catch(function (error) { 
     console.log(error); 
     console.log('error getting library', error.status); 
    }); 

    } 

    render() { 

     let renderLibrary =() => { 
     return(
      <div> 
      {this.state.library.map(function(library) { 
       return(
       <div className="row" > 
        <div className="col-xs-6 col-md-6" id='card'> 
        <img src={library.path} alt='some text'/> 
        </div> 
       </div> 
      ); 
      })} 
      </div> 
     ) 
     } 

    return (
     <div className="Container"> 
     <div> 
     {renderLibrary()} 
     </div> 
     </div> 
    ); 
    } 
} 

export default showAllPhotos; 

,這裏是我的後臺路徑 - 在Postmate檢查,它的確定。

var express = require('express'); 
var router = express.Router(); 

var Photo = require('../model/photo'); 

router.get('/', function(req, res, next){ 
    Photo.find({}, function(err, photos){ 
    if(err){ 
     res.json({error:err}); 
    } 
    res.json(photos); 
    }); 
}); 

module.exports = router; 

回答

-1

你需要要求圖片才能在img標籤中使用它。像這樣使用它 -

<img src={require(library.path)} /> 
+0

哦謝謝!但我得到一個錯誤「無法找到模塊」。失蹤的WebPack模塊「 – kahong

+0

當使用圖像 - 1. **網址**的 - 使用'' 2. **本地圖像** - 使用''導入在JavaScript中的本地文件。 你可以給我一些關於錯誤的更多信息。像什麼時候發生的 - 在'npm start'期間? ....或任何東西。 – Ankush

+0

我明白了!在'npm start'期間在我的終端上出錯'78:50-71嚴重依賴:請求依賴關係是表達式 – kahong