在 PHP 中通过 Chemistry 从 Alfresco 下载文件

Download file from Alfresco through Chemistry in PHP

我目前在通过 Chemistry 从 Alfresco 下载文件时遇到问题。

这是我的代码:

// Create the session
$repository = new CMISService($repositoryUrl, $userName, $password);
$uuid = $_GET['uuid'];
$contentData = $repository->getObject($uuid);
$tempurl = $repository->getLastRequestURL();

// TEMPORARY URL IS THIS: "http://193.43.168.90:8082/alfresco/api/-default-/public/cmis/versions/1.1/atom/id?id=6b82d8db-2003-467d-91e3-17a2d27f6a68";

$fp = fopen($tempurl, 'r');
$DMSContent = stream_get_contents($fp);
fclose($fp);

我无法下载该文件,因为它 returns 我 "HTTP request failed! HTTP/1.1 401 Unauthorized"。就像我没有登录到 Alfresco。 我该怎么做?

在使用 Alfresco CMIS 和 Chemistry 时,我有过类似的经历,但还没有让它发挥作用。以下是解决方法:

使用 REST api 下载 servlet 专门用于提取文件:

https://wiki.alfresco.com/wiki/URL_Addressability#DownloadContentServlet

您需要先取票:

/alfresco/service/api/login?u=用户名&pw=密码

它将在xml个标签之间返回,您可以轻松地将其解析出来并作为alf_ticket参数传递给下载servlet。

此致