请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师你好,不好意思,我想问一个之前遇到的遗留的问题,一直没找到答案。

在4.5节关于ImageUtil这个类的

https://img1.sycdn.imooc.com//szimg/5ad2eff60001657910000394.jpg

https://img1.sycdn.imooc.com//szimg/5ad2eff60001868f10000435.jpg

为什么数字的时候会成功而英文的时候会失败,想了好久还是没想通,还望老师多多指教。

正在回答

4回答

翔仔 2018-04-15 17:26:52

同学好,basepath的获取路径和同学的配置有关,所以到2.0之后我们已不建议使用basepath,取而代之的是图片的绝对路径,这样就不会出错了:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯卡6955199 #1
    谢老师(~_~)
    回复 有任何疑惑可以回复我~ 2018-04-15 17:29:27
  • 翔仔 回复 提问者 慕斯卡6955199 #2
    Thread.currentThread().getContextClassLoader().getResource("").getPath()会获取你当前线程执行的执行文件地址,但是有时候会在前面有个/不太方便,这个跟配置有关,同学可以点到里面去看看。我们tomcat发布的时候会把项目发布到一个跟项目根目录不一样的路径,具体可以看console的启动信息,那个才是真正的项目路径
    回复 有任何疑惑可以回复我~ 2018-04-15 17:32:45
提问者 慕斯卡6955199 2018-04-15 17:03:16

https://img1.sycdn.imooc.com//szimg/5ad315280001987d10000452.jpg

老师是这个原因?_?why

0 回复 有任何疑惑可以回复我~
提问者 慕斯卡6955199 2018-04-15 16:50:25

原因是它读取的不是resources下面的资源而是定死的绝对路径。但是我还有点疑问,

private static String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();这段代码得到的是我的E盘下的路径:ImageUtil-basePath is :/E:/SchoolO2O/out/test/classes/  而不是resources下面的资源。这一点还望老师指点一下。

0 回复 有任何疑惑可以回复我~
提问者 慕斯卡6955199 2018-04-15 16:43:14

老师,我仔细看了下代码,已经知道原因了,

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号