- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 Jackrabbit 库实现了 webdav。
我使用下面的代码通过 webdav 扫描文件夹中的所有文件:
public void ListWebDav() {
String FullPath = Webdav Path;
try {
DavMethod davMethod = new PropFindMethod(FullPath, DavConstants.PROPFIND_ALL_PROP, DavConstants.DEPTH_1);
WebDavClient.executeMethod(davMethod);
MultiStatus multiStatus = davMethod.getResponseBodyAsMultiStatus();
MultiStatusResponse[] responses = multiStatus.getResponses();
MultiStatusResponse currResponse;
for(int i = 0; i < responses.length; i++) {
currResponse = responses[i];
if(getContentType(currResponse) != null) {
if(((String)getContentType(currResponse)).contains("directory")) { //Folder
System.out.println("Folder " + URLDecoder.decode(currResponse.getHref()));
}
else { //File
System.out.println("File " + URLDecoder.decode(currResponse.getHref()));
}
}
else {
System.out.println(URLDecoder.decode(currResponse.getHref()));
}
}
}
catch(Exception e) {
e.printStackTrace();
}
}
public Object getContentType(MultiStatusResponse msr) {
try {
Status[] statusa = msr.getStatus();
Status status = statusa[0];
int n = status.getStatusCode();
DavPropertySet propSet = msr.getProperties(n);
DavProperty davProp = propSet.get(DavPropertyName.PROPERTY_GETCONTENTTYPE);
return davProp.getValue();
}
catch(Exception e) {
return null;
}
}
getContentType函数是判断是文件夹还是文件。
我第一次运行 ListWebDav 方法是正常的。
但是如果第二次运行。
它将崩溃并在 Status[] statusa = msr.getStatus();
行显示以下错误代码:
11-27 10:08:29.331: E/StrictMode(26469): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
11-27 10:08:29.331: E/StrictMode(26469): java.lang.Throwable: Explicit termination method 'end' not called
11-27 10:08:29.331: E/StrictMode(26469): at dalvik.system.CloseGuard.open(CloseGuard.java:184)
11-27 10:08:29.331: E/StrictMode(26469): at java.util.zip.Inflater.<init>(Inflater.java:82)
11-27 10:08:29.331: E/StrictMode(26469): at java.util.zip.ZipFile.getInputStream(ZipFile.java:310)
11-27 10:08:29.331: E/StrictMode(26469): at java.util.jar.JarFile.getInputStream(JarFile.java:389)
11-27 10:08:29.331: E/StrictMode(26469): at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
11-27 10:08:29.331: E/StrictMode(26469): at java.net.URL.openStream(URL.java:470)
11-27 10:08:29.331: E/StrictMode(26469): at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:432)
11-27 10:08:29.331: E/StrictMode(26469): at java.lang.Class.getResourceAsStream(Class.java:1037)
11-27 10:08:29.331: E/StrictMode(26469): at org.apache.jackrabbit.webdav.DavException.<clinit>(DavException.java:41)
11-27 10:08:29.331: E/StrictMode(26469): at org.apache.jackrabbit.webdav.Status.<init>(Status.java:42)
11-27 10:08:29.331: E/StrictMode(26469): at org.apache.jackrabbit.webdav.MultiStatusResponse.getStatus(MultiStatusResponse.java:253)
11-27 10:08:29.331: E/StrictMode(26469): at com.wd.wifi.cable.GlobalData.getContentType(GlobalData.java:313)
11-27 10:08:29.331: E/StrictMode(26469): at com.wd.wifi.cable.GlobalData.ListWebDav(GlobalData.java:277)
11-27 10:08:29.331: E/StrictMode(26469): at com.wd.wifi.cable.GlobalData.ConnectWebDav(GlobalData.java:258)
11-27 10:08:29.331: E/StrictMode(26469): at com.wd.wifi.cable.HDDDevicesListViewFragment$3.onItemClick(HDDDevicesListViewFragment.java:81)
11-27 10:08:29.331: E/StrictMode(26469): at android.widget.AdapterView.performItemClick(AdapterView.java:299)
11-27 10:08:29.331: E/StrictMode(26469): at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
11-27 10:08:29.331: E/StrictMode(26469): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
11-27 10:08:29.331: E/StrictMode(26469): at android.widget.AbsListView$3.run(AbsListView.java:3638)
11-27 10:08:29.331: E/StrictMode(26469): at android.os.Handler.handleCallback(Handler.java:733)
11-27 10:08:29.331: E/StrictMode(26469): at android.os.Handler.dispatchMessage(Handler.java:95)
11-27 10:08:29.331: E/StrictMode(26469): at android.os.Looper.loop(Looper.java:137)
11-27 10:08:29.331: E/StrictMode(26469): at android.app.ActivityThread.main(ActivityThread.java:4998)
11-27 10:08:29.331: E/StrictMode(26469): at java.lang.reflect.Method.invokeNative(Native Method)
11-27 10:08:29.331: E/StrictMode(26469): at java.lang.reflect.Method.invoke(Method.java:515)
11-27 10:08:29.331: E/StrictMode(26469): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
11-27 10:08:29.331: E/StrictMode(26469): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
11-27 10:08:29.331: E/StrictMode(26469): at dalvik.system.NativeStart.main(Native Method)
我该如何解决?
最佳答案
a) 为此使用 DAV:getcontenttype 是不正确的;它是可选的(这可能会导致此处出现 NullPointerException)。b) 您确实需要检查 DAV:resourcetype 属性。
关于android - Webdav 与 jackrabbit lib 在 android 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20232731/
我需要一个可以执行 WebDAV 上传 (HTTP PUT) 的命令行实用程序。 最佳答案 cURL将为您做。 curl -T filetoput.xml http://www.url.com/fil
我不知道如何更改 webdav 密码。我做了一些搜索,找到了很多关于如何将新用户添加到 webdav 的资源,但没有关于更改密码的信息。有人知道吗? 最佳答案 Passwords are stored
有哪些学习 Exchange Web 服务的好资源? 我熟悉 WebDAV,想知道 Exchange Web 服务是否更适合我们与 Exchange 进行的某些集成。 最佳答案 几周前,我为 Exch
我正在使用 IT HIT WebDAV 引擎和 .net 5 为基于数据库的 ECM 系统开发 WebDAV 连接。 我已将 WebDAV 映射到资源管理器中的网络驱动器。 当我在资源管理器中列出所有
我需要使用 WebDAV 上传文件,但我的问题是服务器将上传限制为最大 100MB。有没有办法分块上传(因此多个请求可以绕过这个 100MB 限制)?服务器确实允许您在那里保存更大的文件,因此如果我能
编写 Nautilus 脚本时,$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 给出已单击上下文菜单的文件的路径,例如 /home/nico/test.txt。 但是当文件位
我需要使用 WebDAV 上传文件,但我的问题是服务器将上传限制为最大 100MB。有没有办法分块上传(因此多个请求可以绕过这个 100MB 限制)?服务器确实允许您在那里保存更大的文件,因此如果我能
编写 Nautilus 脚本时,$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 给出已单击上下文菜单的文件的路径,例如 /home/nico/test.txt。 但是当文件位
我的网络中有一台 Apache 服务器,并使用摘要式身份验证进行 WebDAV 共享。我还使用Windows 7中的“添加网络位置”来添加WebDAV共享。到目前为止,WebDAV 共享工作没有任何问
我一直在看 http://plone.org/documentation/kb/webdav http://plone.org/documentation/kb/more-webdav 并且我能够使用
我们有一个 WebDAV servlet,并开始启动并运行 MS Word。我们有 OPTIONS 和 PROPFIND 和 GET。你知道 Word 要求的其他动词吗? 最佳答案 根据 RFC 25
我正在为 WebDav 功能设置联合身份验证,我正尝试使用 IT Hit Web DAV 库来实现该功能。在 Adding webdav to existing project 下的库文档中,它提到:
由于我们有一个主要基于 AngularJS 客户端和服务器端 WebAPI 2 REST 服务的 ASP.NET 网站,我们使用 OAuth 2 来验证我们的用户。ü这就像一个魅力。 现在我们正在考虑
我正在创建一个用于管理远程 MS Office 文档的解决方案。我使用 IT Hit WebDAV System (www.webdavsystem.com) 制作的库作为原型(prototype)。
Microsoft IE8 和 IE9 用于提供启动功能网页内 Windows 计算机上的 WebDAV 资源管理器: function fnDavStart(oSpanObj, s
我正在集成我的应用程序,以便它可以编辑存储在 SharePoint 中的文件。我正在使用 Web 客户端服务 AKA WebDAV Redirector(webclnt.dll),它出色地完成了让正常
CMIS和WebDAV之间的主要技术区别是什么? 如果适用,CMIS与WebDAV相比究竟有什么改进? 我并不是在问采用率或实现数量,而是在问这些标准之间的技术差异。 最佳答案 没有简单的答案。 We
我想编辑一些STK模板。我使用NetDrive访问木兰资源,但这不起作用,请参见屏幕截图: 我在做什么工作? 我也尝试了this tutorial,但是重新启动tomcat服务器之后,没有任何变化。
我在freebsd系统上构建了nginx,配置参数如下: ./configure ... –with-http_dav_module 现在这是我的配置文件: user www www; worker_
我想使用 WebDAv 服务器在我的 iphone 项目中的系统和(iPod 或 iPhone)之间共享文件。要使用它,我必须使用单独的网络服务器吗?或者它是一个内置设施? 最佳答案 WebDAV 是
我是一名优秀的程序员,十分优秀!