현재 서버에 파일을 업로드하는 기능을 작성 중입니다. 내 파일 이름 형식은 다음과 같습니다. ACTION # USERNAME.TXT, 오류가 발생했습니다.URLConnection.guessContentTypeFromName 오류 (Java)
java.lang.StringIndexOutOfBoundsException : length = 41; regionStart = 38; regionLength = -28 코드
writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(fileName)).append(LINE_FEED);
이 라인에 좀 디버깅을했고, 문제가 문자 '#'로 인한 깨달았다
. 그것을 가져 오면 파일을 업로드 할 수 있습니다. 실제 파일은 # 문자를 허용하므로 # StringIndexOutOfBoundsException이 발생하는 이유를 실제로 이해하지 못합니다.나에게 계몽 수 있습니까?
나를 위해 일하십시오 : https://ideone.com/sEXYso 완전한 스택 트레이스를 제공 할 수 있습니까? –
@RC. 작동하지 않습니다. 그것은'text/plain'을 반환하거나 OP가 기대하는 것입니다. '# '을'% 23'(으)로 변경하면 그것이 얻을 것이다. – Andreas
@Andreas 예 [mcve] 승리를 위해 –