我正在使用docusign和PHP构建一个应用程序。除了我不知道如何下载文档外,我大部分的工作都完成了。我一直在这个网站上搜索,在DocuS传网站上搜索。DocuS传有一个这里的例子,它展示了如何在PHP中获取一个文档列表,但是下载过程中没有一个PHP示例。在Docusign文档中,它们解释了这里的方法。但这表明响应是"PDF文件“。
在下面的示例代码中,我尝试将内容放入文件中,但它会创建和空文件。如果我是print_r($data),我会得到以下信息:
SplFileObject Object
(
[pathName:SplFileInfo:private] => /tmp/419ULk
[fileName:SplFileInfo:private] => 419ULk
[openMode:SplFileObject:private] => w
[delimiter:SplFileObject:private] => ,
[enclosure:SplFileObject:private] => "
)它确实在/tmp中创建了文件,但我希望将文档保持在字符串中,以便将文档发送或保存到DB。
以下是我的控制器功能:
public function get_document($envelopeId, $cert = FALSE)
{
$save_dir = BASEPATH."../documents/";
if ($envelopeId) {
$this->load->model('docusign_model');
$data = $this->docusign_model->get_document($envelopeId, $cert);
}
file_put_contents($save_dir.$envelopeId.".pdf", $data);
//print_r($data);
die("116");
}这是在docusign_model中的:
public function get_document($envelopeId, $cert)
{
$docuSignAuth = $this->auth();
if ($docuSignAuth) {
$envelopeApi = new EnvelopesApi($docuSignAuth->apiClient);
$options = new GetDocumentOptions();
if($cert) {
$options->setCertificate(TRUE);
} else {
$options->setCertificate(FALSE);
}
return $envelopeApi->getDocument($docuSignAuth->accountId, 1, $envelopeId, $options);
}
return false;
}我怎样才能得到这个文档并将它保存在一个字符串中?
所有的帮助都是非常感谢的!
发布于 2018-03-16 00:54:29
内容作为文件返回,您必须读取临时文件并将其保存到所需的文件中。
使用file_get_contents和file_put_contents的快速片段
$docStream = $envelopeApi->getDocument($accountId, 1, $envelopeId);
file_put_contents("my_document.pdf", file_get_contents($docStream->getPathname()));更多信息DocuSign REST ::EnvelopeDocuments: get在下得到一个单独的文档作为PDF文件
https://stackoverflow.com/questions/49309832
复制相似问题