Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

사적인 개발자

[ISSUE] File upload (octet-stream) 본문

Troble Shooting

[ISSUE] File upload (octet-stream)

DevYeri 2024. 12. 3. 20:24

ISSUE :

.log 파일이 업로드가 안되는 문제  
해당 파일은 octet-stream으로 들어온다


=> 파일 형태가 일반적인 plain text 형태가 아닌
octet-stream 형태의 바이너리 코드가 포함된 LOG 파일로 확인 됩니다.

보안상 이슈가 될 수 있어 plain text 형태의 파일만 upload 되게 처리 되어 있는 상태인데
해당 형태의 LOG 파일도 웹에 업로드 가능성이 있다면 상황에 따라 정책 정정 필요해보입니다.

에러 난 조건식 :

if("x-tika-msoffice".equals(chkFileExtStr) || "x-tika-ooxml".equals(chkFileExtStr) || 
	"plain".equals(chkFileExtStr) || "png".equals(chkFileExtStr) || "jpg".equals(chkFileExtStr)
    || "jpeg".equals(chkFileExtStr) || "gif".equals(chkFileExtStr)){  
	
    return true;  
}
  • 업로드 되는 파일의 종류
    msoffice : doc, ppt ,
    ooxml : docx, pptx, xlsx plain 는 순수 텍스트 파일 (.log, .txt 등..)
    MIME Type : oct-stream 등이 포함된 타입

해결책

if ("octet-stream".equals(chkFileExtStr) && fileName.endsWith(".log")) { 
	chkFileExtStr = "plain";
}


과 같이 .log 파일에 대한 plain 조건을 추가함

 

 

참고지식 File Upload 트러블 슈팅(octet-stream이 뭔가요)