报错信息
获取上传文件: gfOA数据库--ly.doc
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1932)
at servlet.UploadFileServlet.doGet(UploadFileServlet.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at dispatcher.SimpleDispatcherServlet.doGet(SimpleDispatcherServlet.java:40)
at dispatcher.SimpleDispatcherServlet.doPost(SimpleDispatcherServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at dispatcher.Encoding.doFilter(Encoding.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
##D:\apache-tomcat-6.0.32\webapps\nnxdcredit\uploadfile\creditfileTable\1427353453780.doc
代码块
if(isYes){
//构建文件目录及文件
File file = new File(savePath);
if(!file.exists()){
file.mkdirs();
}
//创建一个File
// File file = new File(savePath + "\\" + name);
try {
//重命名文件
// String filename = UUID.randomUUID().toString();
String filename = new Date().getTime()+"" ;
File savefile = new File(savePath + filename +"."+ extension);
//写入文件
item.write(savefile);
savePathName = savefile.getPath();
//截取路径,删掉前面的tomcat路径 fcgcredit 改SQL
//int l = savePathName.lastIndexOf("nnxdcredit");
int l = savePathName.lastIndexOf("fcgcredit"); //第169行
savePathName = savePathName.substring(l,savePathName.length());
//增加'/'
savePathName = "/"+savePathName;
//转换'/'
savePathName = savePathName.replace("\\", "/");
//如果是信用表格上传,则保存路径
if(uploadtype.equals("creditfileTable")){
new ReadXMLorPorpertiesUtils().writePorperties2("wordUpload.properties", "creditfileTableURL", savePathName);
}
//如果是广告上传,则保存路径
if(uploadtype.equals("swfURL")){
new ReadXMLorPorpertiesUtils().writePorperties2("swfURL.properties", "swfURL", savePathName);
}
} catch (Exception e) {
e.printStackTrace();
}
------解决思路----------------------
调试看看吧。
越界。