如何从外部应用程序从liferay下载文档..使用liferay jsonws或任何其他方式

如何从外部应用程序从liferay下载文档..使用liferay jsonws或任何其他方式,liferay,Liferay,您好,我正在使用liferay/api/secure/jsonws服务从外部应用程序上载文档,获取文档,就像我想下载文档一样,我检查了我的liferay jsonws,没有可用于下载的方法或服务,或者我不知道,请建议我一种从外部应用程序下载文档的方法,使用jsonws或任何其他方法也可以 编辑后,我知道如何下载文件 您好,我尝试使用getURl从外部应用程序下载liferay文档,但每次对于所有文档,我都会获得liferay登录页面内容 我已经尝试过以流json rpc调用的形式获取文件,但这也

您好,我正在使用liferay/api/secure/jsonws服务从外部应用程序上载文档,获取文档,就像我想下载文档一样,我检查了我的liferay jsonws,没有可用于下载的方法或服务,或者我不知道,请建议我一种从外部应用程序下载文档的方法,使用jsonws或任何其他方法也可以

编辑后,我知道如何下载文件

您好,我尝试使用getURl从外部应用程序下载liferay文档,但每次对于所有文档,我都会获得liferay登录页面内容

我已经尝试过以流json rpc调用的形式获取文件,但这也给了我空响应

我使用的代码是:

 final HttpHost targetHost = new HttpHost(hostname.trim());
    System.out.println(targetHost.getHostName());
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);
    System.out.println(creds);
    final AuthScope authscope = new AuthScope(targetHost);
    httpclient.getCredentialsProvider().setCredentials(authscope, creds);

    final AuthCache authCache = new BasicAuthCache();
    final BasicScheme basicAuth = new BasicScheme();
    authCache.put(targetHost, basicAuth);

    final BasicHttpContext localContext = new BasicHttpContext();
    localContext.setAttribute(ClientContext.AUTH_CACHE, authCache);

    final HttpGet httpget = new HttpGet(hostname+"/documents/" + groupId + "/" + folderId + "/" + filename);


    final HttpResponse response = httpclient.execute( httpget, localContext);

    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        final org.apache.http.HttpEntity entity = response.getEntity();

        if (entity != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            entity.writeTo(baos);
            return baos.toByteArray();
        }
    }
    return null;
} finally {
    httpclient.getConnectionManager().shutdown();
}
}


我正在添加基本身份验证标题,将更正用户名和密码,不知道此登录页是如何出现的,是否有任何权限需要更改或任何配置问题,请提供帮助。

您可以使用Liferay WebDav服务从文档库下载文件。单击文件条目(WebDAV URL toogle链接)时,可以在控制面板内部检查下载路径。路径通常如下所示:/webdav/{site name}/document_library/{folder name}/{file name} 否则,您可以模拟Liferay在documents media portlet中创建的请求URL来下载文件条目。
但是,当来宾看不到您的文件(和文件夹)时,您应该注意身份验证。

我尝试过,我使用的基本身份验证用户名和密码与我登录应用程序时使用的用户名和密码相同,身份验证失败,请您告诉我有关如何进行身份验证的更多信息,如果你能提供我的样本代码,这样将是有益的。