我有一个运行的tomcat(7)服务器,通过它我尝试通过http访问一些公共文件。文件系统上的某些文件中包含特殊字符。找到那些没有那些特殊字符的字符。其他的则给出404。例如:
http:// localhost:9090 / processed / transcoded/ Csángó_TÖMEGKERESZTELŐVEL_EGYBEKÖTÖTT_búcsú_Istensegítsfalvá20111053491309424029417_extracted.mp3“
从我发现url中的utf-8应该不是问题。我尝试对文件名使用url转义功能,结果是:
http:// localhost:9090 / processed / transcoded / Cs%c3%a1ng%c3%b3_T%c3%96MEGKERESZTEL%c5%90VEL_EGYBEK%c3%96T%c3%96TT_b%c3%bacs%c3%ba_Istenseg%c3%adtsfalv %% c3%a120111053491309424029417_extracted%2emp3
…但是那似乎也没有解决任何问题。接下来要尝试什么?我不知道问题是什么。可能与Tomcat设置有关吗?
你有URIEncoding="UTF-8"你的<Connector?如果是,这就是我要做的:
URIEncoding="UTF-8"
<Connector
/processed/transcoded/*
java.io.File
/home/someuser/files/...
我认为tomcat的功能不超过上面列出的功能。
另一种选择是调试Tomcat本身。