[英]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.