inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

경로를 제대로 써준 것 같은데 계속 404가 발생합니다 ㅜㅜ

546

hellooguy

작성한 질문수 13

0

콘솔에서 에러가 뜨는 것을 보면 ..

이렇게 404에러가 발생합니다.

회원가입, 로그인은 다 잘 되는데 이것만 안되고 있습니다.

근데 제 생각엔 localhost:3000 으로 요청이 보내져서 그런 것 같기도 합니다 .. 왜 이것만 그렇게 보내지는 것일까요?

강제로 localhost:5000을 쓰면 CORS가 발생하고요.

서버의 index.js에는

app.use("/api/product", require("./routes/product"));

이렇게 코드를 넣어주었고 다른 부분은 건들지 않았습니다.

app.use(cors); 이 부분도 있고요.

product.js 코드는

const express = require("express");
const router = express.Router();
const multer = require("multer");

// PRODUCT

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "uploads");
  },
  filename: function (req, file, cb) {
    cb(null, `${Date.now()}_${file.originalName}`);
  },
});

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

router.post("/image", (req, res) => {
  // 가져온 이미지를 저장.
  upload(req, res, (err) => {
    if (err) {
      return req.json({ success: false, err });
    }
    return res.json({
      success: true,
      filePath: res.req.file.path,
      fileName: res.req.file.filename,
    });
  });
});

module.exports = router;

그리고 FileUpload.js에 있는 dropHandler 메서드의  코드입니다.

const dropHandler = (files) => {
    // 파일을 전송할 때는 이걸 통해서 전해주어야 한다.
    let formData = new FormData();
    const config = {
      header: { "content-type": "multipart/form-data" },
    };
    formData.append("file", files[0]);

    axios.post("/api/product/image", formData, config).then((response) => {
      if (response.data.success) {
        console.log(response.data);
      } else {
        alert("파일을 저장하는데 실패했습니다.");
      }
    });
  };

무엇이 문제일까요 ..?

redux 웹앱 mongodb react nodejs

답변 4

1

tjtlgus4

같은 오류로 ㅜㅜㅜ 헤매고 있는데 혹시 해결하셨나요???

0

hellooguy

@tjtlgus4 404가 발생하나요 아니면 cors인가요?

0

hellooguy

아니요! 원래 Proxy를 사용해서 요청을 보내는데 404가 발생해서 혹시나 해서 직접 5000으로 보내봤습니다

0

John Ahn

아 원래 강의에서는 Proxy 를 사용해서 요청을 주고 계신데  따로 그 부분을 CORS 모듈을 이용해서 직접 5000번으로 보내는걸로 바꾸신건가요 ~  ?

강의 내용은 훌륭하나, 환경 설정 오류 때문에 진도를 나갈 수 없습니다. 20년 버전 강의.

0

60

1

강의자료는 어디서 볼 수있나요??

0

66

1

이 쇼핑몰 만들기 강의는 관리자페이지 만드는건 없나요

0

114

2

웹에서 실시간 코드반영이 안돼요

0

120

1

app.use질문

0

64

1

강사님께 어떻게 직접질문할수있어요??

0

75

1

const함수같은거 기초강의는 어디있나요

0

81

2

리덕스 참조챕터가 어딨어요? 미리듣고오라는데요

0

81

2

강의가완전 오래되서 다 틀리네 app.jsx도 tailwind css 다틀림 무책임함

0

68

1

개발자도구에 redux란이 없어요

0

88

1

npx tailwindcss init -p 에서 계속 에러나요

0

92

1

쇼핑몰기능중 찜하기 기능은 어떻게 구현하나요

0

139

2

강의하다 줌으로 설명가능한지좀 정확히 알려주세요. 이 선생님 정책이 어떻게 되는데요. 직접 연락할 메일이라도 알려주세요

0

43

1

도표 강의 자료 열람 불가능

0

109

1

tailwindcss를 vite에서 이용하는 방식이 바뀐것 같습니다.

0

1132

2

eslint 설정 후 오류가 납니다.

0

222

1

오버로드 오류

0

150

1

VSCode에서 save를 할 때, landingpage의 useEffect가 실행되는 문제에 대하여

0

169

1

dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제

0

228

2

logout할 때, server로 요청을 보내서 authUser middleware를 통과하도록 하는 이유?

0

195

1

webkit-text-size-adjust 오류

0

314

1

does not provide an export named 'userReducer'

0

217

2

빌드 배포

0

140

1

삭제 예정 강의는 언제 삭제 되나요? 저것때문에 수강완료를 못하면 회사에서 비용을 청구한다고 합니다~

0

220

2