web服务用tomcat作上传服务器,奇怪的是在windows10系统上传excel表和图片均正常,但是在CentOS 7服务器上传excel表正常,图片文件始终上传不成功,数据库里查不到上传的图片数据,并报500错误!
解决: 经查资料所知,linux下处理图片时需加上参数“-Djava.awt.headless=true”
在tomcat的bin目录里的catalina.bat和catalina.sh文件内容里添加-Djava.awt.headless=true参数
1、在catalina.bat文件的最后倒数行数的“%JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS%”字段(共4处)的一行最后加上-Djava.awt.headless=true
2、在catalina.sh文件里下面每行(行数330至440范围,共6处)共的字段里后面加上-Djava.awt.headless=true
exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
3、重启下上传的tomcat,tomcat正常启动即可,图片上传成功!
注意:修改后重启tomcat时,提示“catalina.sh:行624: $'\r': 未找到命令”,不必理会,只要tomcat正常启动即可,tomcat正常启动图如下
最后福利,大家如何觉得修改麻烦,那么就在我共享的百度云盘里下载catalina.bat和catalina.sh文件这2个文件再去替换吧
链接:https://pan.baidu.com/s/1xQz_fnsptLOmNkVhsuvJPA