You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2021-12-06 14:23:58.360 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.364 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2,
2021-12-06 14:23:58.364 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getChildrenNames: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2/test2/0
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2/test2/0,
2021-12-06 14:23:58.369 ERROR 1 --- [nio-8080-exec-3] net.sf.webdav.WebDavServletBean : Exception: java.lang.NullPointerException,
at net.sf.webdav.methods.DoPropfind.parseProperties(DoPropfind.java:256),
at net.sf.webdav.methods.DoPropfind.recursiveParseProperties(DoPropfind.java:212),
at net.sf.webdav.methods.DoPropfind.recursiveParseProperties(DoPropfind.java:227),
at net.sf.webdav.methods.DoPropfind.execute(DoPropfind.java:165),
at net.sf.webdav.WebDavServletBean.service(WebDavServletBean.java:131),
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733),
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166),
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231),
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53),
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193),
at com.github.zxbu.webdavteambition.filter.ErrorFilter.doFilterInternal(ErrorFilter.java:39),
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119),
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100),
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93),
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201),
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202),
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97),
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667),
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143),
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78),
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65),
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128),
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61),
at java.base/java.lang.Thread.run(Thread.java:829),
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628),
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49),
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597),
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888),
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374),
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343),
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
This discussion was converted from issue #183 on December 06, 2021 06:35.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
问题描述
文件或文件夹名中有"/"时,部分webdav客户端无法访问此文件或文件夹所在的目录。
不算是本程序的bug,而是阿里云盘自身的不规范所致,希望可以帮到遇到该问题的朋友。
重现步骤
阿里云盘对路径中"/"符号不作限制,部署docker容器之后,从chrome访问没有问题,但是用infuse或nplayer连接时,无法进入所在目录,排查修改之后没有问题。
新建了几个测试目录获得日志中所例结果。
目录结构如下:
./test
--/test1
---/test1_0
--/test2/0
---/0
注意新建文件夹时,若直接命名为"test2/0",会同时建立/test2及其下的子目录/0,但是修改/test2的文件夹名为“test2/0"可得此结果。
正常操作下,一般不会出现路径中含有"/"的情况,因为常见系统均不允许,但在云盘上改名时可能出现。
版本
1.0.0
运行平台
Docker,nplayer,infuse
日志
2021-12-06 14:23:58.360 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.364 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2,
2021-12-06 14:23:58.364 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getResourceLength: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getChildrenNames: /test/test2,
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2/test2/0
2021-12-06 14:23:58.365 INFO 1 --- [nio-8080-exec-3] c.g.z.w.s.AliYunDriverFileSystemStore : getStoredObject: /test/test2/test2/0,
2021-12-06 14:23:58.369 ERROR 1 --- [nio-8080-exec-3] net.sf.webdav.WebDavServletBean : Exception: java.lang.NullPointerException,
at net.sf.webdav.methods.DoPropfind.parseProperties(DoPropfind.java:256),
at net.sf.webdav.methods.DoPropfind.recursiveParseProperties(DoPropfind.java:212),
at net.sf.webdav.methods.DoPropfind.recursiveParseProperties(DoPropfind.java:227),
at net.sf.webdav.methods.DoPropfind.execute(DoPropfind.java:165),
at net.sf.webdav.WebDavServletBean.service(WebDavServletBean.java:131),
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733),
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166),
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231),
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53),
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193),
at com.github.zxbu.webdavteambition.filter.ErrorFilter.doFilterInternal(ErrorFilter.java:39),
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119),
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100),
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93),
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201),
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202),
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97),
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667),
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143),
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78),
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65),
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128),
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61),
at java.base/java.lang.Thread.run(Thread.java:829),
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628),
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49),
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597),
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888),
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374),
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343),
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
Beta Was this translation helpful? Give feedback.
All reactions