اذهب إلى المحتوى

السؤال

نشر

السلام عليكم.

لحذف صورة من قاعدة البيانات قمت بالكود التالي

Router

router.delete("/user_images/:photoId", protect, removeImg);

Controller

const removeImg = async (req, res) => {
  try {
    const post = await Image.findById(req.params.photoId);
    if (!post) {
      return res.status(404).json({ msg: "Post Not Found" });
    }

    // Check User
    if (post.user.toString() !== req.user.id) {
      return res.status(401).json({ msg: "User not authorized" });
    }
    await post.remove
    res.json({ msg: "Post removed" });
  } catch (err) {
    return res.status(404).json({ msg: "Post Not Found" });
    res.status(500).send("Server error");
  }
};

الواجهة الأمامية 

 const user = JSON.parse(localStorage.getItem("user"));
 const [photos, setPhotos] = useState([]);

const handleRemove = async (id) => {
    await axios
      .delete(`/api/images/user_images/${id}`, {
        headers: {
          "Content-Type": "application/json",
          "x-auth-token": user?.data.token,
        },
      })
      .then(() => {
        setPhotos(photos.filter((p) => p._id.toString() !== id.toString()));
      })
      .catch((err) => console.error(err));
  };

عند النقر عى زر الحذف يقع حذف الصورة لكن عند تحديث الصفحة تعود الصورة.

بالرجوع إلى قاعدة البيانات لاحظت أنه لم يتم حذف الصورة

شكرا على المساعدة

Recommended Posts

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...