我目前正在编写一个上传文件到服务器的函数。 我的文件名格式是典型的像这样的行为#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您可以提供完整的堆栈跟踪吗? – 2016-09-29 17:26:58
@RC。这是行不通的。它应该返回“text/plain”,或者说,这是OP所期望的。如果你把'#'改成'%23',那就是你会得到的。 – Andreas
@Andreas是的[mcve]赢得了 – 2016-09-29 18:53:22