Multer엔 한글 이름으로 된 파일을 업로드하면 파일 이름이 박살나는 오류가 존재한다.
multer에서 구문분석기로 사용하는 busboy의 논리오류 이슈로 생기는 문제며 Multer 1.4.5 이상 버전의 패키지를 사용하면 이 문제가 해결된다.
안녕하세요 멀터관련 구글링하다가 정보를 남기고갑니다.
대부분 input type=file 사용해서 multer를 사용하여 fecth 처리를 할텐데
req.file 처리를 할때는 한글이 깨지지 않습니다.
저는 1.4.5 lts 버전을 사용중이고 DB에 파일경로를 저장시킬때 문자가 인코딩되는 문제가 있었습니다.
file.originalname = Buffer.from(file.originalname, 'latin1').toString( 'utf8', );
다음과같이 버퍼처리를 해서 utf-8로 받으면 정상적인 파일명을 구할 수 있습니다.
저대로 쓰면안되고 공백이 있기때문에 치환을 해주셔야 합니다.
안녕하세요 멀터관련 구글링하다가 정보를 남기고갑니다.
대부분 input type=file 사용해서 multer를 사용하여 fecth 처리를 할텐데
req.file 처리를 할때는 한글이 깨지지 않습니다.
저는 1.4.5 lts 버전을 사용중이고 DB에 파일경로를 저장시킬때 문자가 인코딩되는 문제가 있었습니다.
file.originalname = Buffer.from(file.originalname, 'latin1').toString(
'utf8',
);
다음과같이 버퍼처리를 해서 utf-8로 받으면 정상적인 파일명을 구할 수 있습니다.
저대로 쓰면안되고 공백이 있기때문에 치환을 해주셔야 합니다.