繁体   English   中英

在ReactJS上显示图像

[英]Display images on ReactJS

我正在构建一个应用程序来在我的React页面上显示图像。 图像已上载到本地文件夹。 我将我的React应用程序与NodeJS服务器和MongoDB相结合。

我想显示保存在文件夹中的所有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;

您需要要求图像在img标签中使用它。 像这样使用它 -

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM