@samperirrrrr

Почему при POST Запросе я получаю статус код 500?

Я пытаюсь загрузить изображение на сервер вместе со своими данными,но получаю в ответ запроса ошибку 500. Как же мне исправить это?
Preview:
{errno: -4058, code: "ENOENT", syscall: "open",…}
code: "ENOENT"
errno: -4058
path: "C:\\Users\\propr\\Desktop\\react-apps\\anime-sait\\src\\Server\\public\\Fotoram.jpg"
storageErrors: []
syscall: "open"

Код Route.js:
var express = require("express");
var app = express();
var multer = require("multer");
var cors = require("cors");
app.use(cors());
var storage = multer.diskStorage({
	destination: function (req, file, cb) {
		cb(null, "public");
	},
	filename: function (req, file, cb) {
		cb(null, file.originalname);
	},
});

var upload = multer({ storage: storage }).array("file");

app.get("/", function (req, res) {
	return res.send("Hello Server");
});
app.post("/upload", function (req, res) {
	upload(req, res, function (err) {
		if (err instanceof multer.MulterError) {
			return res.status(500).json(err);
		} else if (err) {
			return res.status(500).json(err);
		}
		return res.status(200).send(req.file);
	});
});

app.listen(8000, function () {
	console.log("App running on port 8000");
});

Код Upload.jsx:
const [selectedImage, setSelectedImage] = useState(null);
	const [avatar, setAvatar] = useState(null);
	const onClickHandler = () => {
		const data = new FormData();
		data.append("file", selectedImage);

		axios
			.post("http://localhost:8000/upload", data, {})
			.then((res) => {
				console.log("upload succes");
			})
			.catch((err) => {
				console.log("upload fail");
			});
	};
	return (
		<div>
				<input
					type='file'
					onChange={(event) => setSelectedImage(event.target.files[0])}
				/>
				<button onClick={onClickHandler}> go</button>
		</div>
	);
};

Помогите пожалуйста,не могу понять в чем проблема.
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
NeiroNx
@NeiroNx
Программист
Нет доступа к файлу.
Ответ написан
@rPman
ENOENT - файл не найден

win32 error codes (правда они положительные а у тебя со знаком - почему то):
PEERDIST_ERROR_ALREADY_EXISTS
4058 (0xFDA)
An element already exists and was not replaced.

непонятно какой код у тебя выводит эту ошибку поэтому гадать дальше не интересно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы