请稍等 ...
×

采纳答案成功!

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

前端传入后台的图片地址报错

前端上传的图片地址获取不到,alert(shopImg)显示的是[object,file],下面的错是数组越界?大概该从哪里定位问题,之前测试service的时候,图片可以正常存入数据库。是要定位前端的问题吗

Servlet.service() for servlet [spring-dispatcher] in context with path [/o2o] threw exception [Request processing failed; nested exception is java.lang.StringIndexOutOfBoundsException: String index out of range: -1] with root cause
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1927)
at com.im.o2o.util.ImageUtil.getFileExtension(ImageUtil.java:66)
at com.im.o2o.util.ImageUtil.generateThumbnail(ImageUtil.java:38)
at com.im.o2o.service.ShopServiceImpl.addShopImg(ShopServiceImpl.java:46)
at com.im.o2o.service.ShopServiceImpl.addShop(ShopServiceImpl.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

正在回答 回答被采纳积分+3

2回答

翔仔 2018-12-02 23:11:11

此类问题比较明确,请同学一定要培养自己通过调试独立解决问题的能力,因为错误信息也报得比较明确

0 回复 有任何疑惑可以回复我~
  • 提问者 慕数据4226701 #1
    定位到的那行就是获取扩展名。原来是直接return的。我加了一个if(截取后的!=-1)然后return不报错了。不知道为什么
    回复 有任何疑惑可以回复我~ 2018-12-02 23:43:43
  • 突出部作战 回复 提问者 慕数据4226701 #2
    这样的信息怎么能够让老师明白如何解决问题呢??? 你得提供下扩展名方法的源码,还有当时你设置断点的时候的相关变量的值啊 换我这样提问你能明白么
    回复 有任何疑惑可以回复我~ 2018-12-02 23:53:32
  • 提问者 慕数据4226701 回复 突出部作战 #3
    获取扩展名就是return一个源文件名称然后截取最后的字符串啊。以“.”为间隔符啊。待会贴一下
    回复 有任何疑惑可以回复我~ 2018-12-03 09:42:32
翔仔 2018-12-02 23:10:43

如果是这种情况,就需要同学你定位com.im.o2o.util.ImageUtil.getFileExtension(ImageUtil.java:66),设置断点在这行代码上,看看当时的getFileExtension这个方法为什么会出错

0 回复 有任何疑惑可以回复我~
  • 提问者 慕数据4226701 #1
    之前是没有判断的这个方法,前端提交的时候会报错,但是后端测试的时候没事。加了if方法,前端提交的时候也正常了
    private static String getFileExtension(File cFile) {
    		String originalFileName=cFile.getName();
    		if(originalFileName.lastIndexOf(".")!=-1) {
    			
    			
    		}
    		return originalFileName;
    		
    		
    	}
    回复 有任何疑惑可以回复我~ 2018-12-03 10:09:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信