【问题标题】:images are not shown, fetched from db图片未显示,取自 db
【发布时间】:2021-01-02 01:10:18
【问题描述】:

我在显示图像时遇到问题。

最初图片在 MongoDb 中成功发布并保存,您可以在下面的图片中看到

然后从数据库中获取图像然后显示,但是在显示时图像被破坏并且控制台中显示以下错误..

(注意:- 我在前端使用 reactjs)

这是从后端获取数据的代码

const getAllPostInfo = async () => {
setLoading();
if (localStorage.token) {
  setToken(localStorage.token);
}
try {
  const res = await axios({
    method: "GET",
    url: "/api/post",
  });
  // console.log(`getting all post`, res.data.status[0].posts);
  const resData = res.data.status[0].posts;
  dispatch({ type: GET_ALL_POSTS, payload: resData });
} catch (err) {
  console.log(err.response);
  dispatch({ type: POST_ERRORS, payload: err.response.errors });
}

};

这是减速器动作代码

   case GET_ALL_POSTS:
  console.log("action payload in post reducer", action.payload);
  return {
    ...state,
    post_info: action.payload,
    post_loading: false,
    errors: null,
  };

反应代码 - 获取单个帖子并显示

 const PostItem = ({ post }) => {

const { title, imageUrl, description } = post; …… }

下图,可以看到正在获取的帖子...(在浏览器中反应 puglin)但图像不显示...我不明白我哪里出错了...

【问题讨论】:

    标签: javascript reactjs mongodb


    【解决方案1】:

    问题是您的图像被存储为文件路径而不是文件名。您需要删除 imageUrl 数据点中文件名之前的“images/”。

    【讨论】:

    • 感谢 Kibuika Codes .. 那是工作 .. 但我不明白它是如何工作的......我的查看/理解方式是,我指示在存在的图像文件夹中找到这些图像在当前/客户端根文件夹之外......我的问题是如果只指定文件名,它是如何找到图像的???再次感谢
    • 是的@Naresh。这就是 MongoDB 存储图像的方式。与实际存储图像 URL 的 firebase 不同。该文件名充当对实际图像内容的引用。
    猜你喜欢
    • 2011-11-23
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 2014-01-17
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多