簡體   English   中英

為什么未將其保存在公用文件夾中,卻在網絡中出現404錯誤?

[英]Why is this not being saved in public folder gives 404 error in Network?

在后端的connection.js內部,第二個代碼在前端的post.jsx內部。

router.post("/upload", (req, res) => {
      if (req.file === null) {
    return res.status(400).json({ msg: "No file uploaded" });
  }
  const file = req.files.file;
  file.mv(`../backend/public/${file.name}`, err => {
    if (err) {
      console.error(err);
      return res.status(500).send(err);
    }
    res.json({ fileName: file.name, filePath: `/${file.name}` });
  });
});

這是我的JSX文件的全部內容,並且都在一個表單中,當我保存照片時,所有內容都顯示在console.log中,即Path和名稱,但也應將其保存在公共靜態文件夾中。

const FileUpload = () => {
  const [file, setFile] = useState("");
  const [filename, setFilename] = useState("Choose File");
  const [uploadedFile, setUploadedFile] = useState({});

  const onChange = e => {
    setFile(e.target.files[0]);
    setFilename(e.target.files[0].name);
  };
    const onSubmit = async e => {
        e.preventDefault();
        const formData = new FormData();
        formData.append("file", file);

    try {
      const res = await axios.post("/upload", formData, {
        header: {
          "Content-Type": "multipart/form-data"
        }
      });
      const { fileName, filePath } = res.data;

      setUploadedFile({ fileName, filePath });
    } catch (err) {
      if (err.response.status === 500) {
        console.log("There was a problem with the server");
      } else {
        console.log(err.response.data.msg);
      }
    }
  };

如果要保存數組,則可以通過req.files訪問它,而其他文件則位於req.file中。 如果要保存一個數組,例如req.files,則必須遍歷該數組,然后將其保存到公共位置,這可能是問題所在

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM