在Tomcat6.0下没有问题.
在项目移到webLogic下布署,通过IO流上传文件时fullFileName = new StringBuffer("d:\\upload\\");//上传的文件的路径   报错:
<2010-9-1 下午02时51分23秒 CST> <Error> <HTTP> <BEA-101005> <[weblogic.servlet.internal.WebAppServletContext@8777c - appName: '_appsdir_zhpower_dir', name: 'zhpower', context-path: '/zhpower', spec-version: '2.5'] getRealPath() called with unsafe path: "d:\upload".
java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:396)
at java.io.File.getCanonicalPath(File.java:559)
at weblogic.servlet.internal.WebAppServletContext.getRealPath(WebAppServletContext.java:748)
at com.jspsmart.upload.SmartUpload.isVirtual(SmartUpload.java:734)
Truncated. see log file for complete stacktrace
> 但是改成相对路径:
fullFileName = new StringBuffer("\\upload\\");//上传的文件的路径   又没问题,在网上找了一大堆,也有人报这种错。但都没有解决之道。这种错说是不能够上传到项目根目录以外的文件里。大家帮我看看啊有没有什么办法。。在线等。

解决方案 »

  1.   

    1.在自己工程/WEB-ROOT/WEB-INF/能找到自己需要的Weblogic.xml 
    2.在XML里写入下面这段代码即 配置成功! 
    例如:你想访问E:/upload/1/1025/1025_2009_1.jpg  只要输入contextPath/1/1025/1025_2009_1.jpg 
    contextPath可以通过 request.getContextPath()得到 
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-web-app xmlns=' http://www.bea.com/ns/weblogic/weblogic-web-app'>
      <virtual-directory-mapping>      
     <local-path>D:/upload</local-path>      
     <url-pattern>/*</url-pattern>      
      < irtual-directory-mapping>
    </weblogic-web-app>
      

  2.   

    没对吧,我也是这样配置的,但是获得的是不时配置文件 里面的配置属性,得到的是web放文件的根路径阿
      

  3.   

    我的为什么提示<virtual-directory-mapping>不存在,是不是要额外引入什么包啊