인프런 커뮤니티 질문&답변

th님의 프로필 이미지
th

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

이미지 한글 글자 깨지는 현상 어떻게 해결해야하나요? ㅠㅠ

작성

·

2.1K

0

백은 제로초님께서 알려주신데로 

const upload = multer({
    storage: multer.diskStorage({
        destination(req, file, done){
            done(null, `uploads`);
        },
        filename(req, file, done){
            const ext = path.extname(file.originalname)
            const basename = path.basename(file.originalname, ext)
            done(null, basename + `_`+ new Date().getTime() + ext);
        }
    }),
    limit: { fileSize: 20 * 1024 * 1024 }
})

이와 같은 업로드 방식을 활용하여 api를 만들었습니다.

그리고 swagger를 사용하여 테스트를 해보았는데

 

이와 같이 한글 글자가 깨집니다.

swagger-autogen을 활용하여 

사진 저장 api 코드는 

router.post( `/image`, isLoggedIn, upload.single(`image`), async (req, res, next) => {
    /* 	#swagger.tags = ['User']
        #swagger.summary = `프로필 사진 저장`
        #swagger.description = '프로필 사진 저장 로그인 필요'
    	#swagger.parameters[`image`] = {
            in: 'formData',
            type: 'file',
            description: '프로필 사진 주소'
    } */
    
    console.log(req.file);
    res.json(req.file.filename)
})

다음과 같습니다 어떤 원인으로 저렇게 되는지 잘 모르겠습니다.. ㅠㅠ

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

실제로 저장된 파일도 한글이 깨졌나요?

th님의 프로필 이미지
th
질문자

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

path.basename 보시면 앞에 특수문자 들어있습니다.

th님의 프로필 이미지
th
질문자

아 저거 제가 수정하면 생기거같은데 실제로는 특수 문자 없습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

Content-Type 헤더가 multipart/form-datacharset=UTF-8 여야할 것 같습니다.

th님의 프로필 이미지
th

작성한 질문수

질문하기