Oracle 服务云文件附件 upload/view
Oracle Service Cloud File Attachment upload/view
我是服务云的新手,我的任务是找出一种将文件附件保存到自定义对象的方法。我相信到目前为止,我已经完成了这一点,因为我可以看到在我的对象中创建了新记录。我的下一步是找出一种方法来找到给定 ID 的上传文件并显示可点击的 link,它将在新选项卡中打开以显示上传文件的内容。 (类似于股票 FileListDisplay 小部件)。根据 Connect PHP API 文档,没有 ROQL 查询或 fetch() returns 任何文件附件数据。我将如何显示上传的文件?
到目前为止的代码(为简洁起见缩短)
查看:
<form action="https://test.rightnowdemo.com/app/Upload2/uploadcontroller2" method="post" enctype="multipart/form-data" />
<div>
<h3>Select a .txt file only:</h3><br />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<label for="userfile">Select a file:</label>
<input type="file" class="form-control" name="userfile" /><br>
<input type="submit" class="nybeButton" value="Send" />
</div>
</form>
控制器:
function store_attachment($FileName, $FileLocation, $FileType)
{
$MyDocument = new RightNow\Connect\v1_1\UPLOAD\Documents();
$MyDocument->FileAttachments = new RightNow\Connect\v1_1\FileAttachmentArray();
$MyDocument->UserName = "Test user";
$fattach = new RightNow\Connect\v1_1\FileAttachment();
$fattach->ContentType = $FileType;
$file = $FileLocation;
$fattach->setFile($file);
$fattach->FileName = $FileName;
$MyDocument->FileAttachments[] = $fattach;
//\RightNow\Libraries\AbuseDetection::check();
$MyDocument->save();
}
$FileName = $_FILES["userfile"]["name"];
$FileLocation = get_cfg_var('upload_tmp_dir') . "/" . $_FILES["userfile"]["name"];
$FileType = $_FILES["userfile"]["type"];
store_attachment($FileName, $FileLocation, $FileType);
最近有一个类似的问题was asked on the OSvC communities。一般情况下,无法通过Connect for PHP获取文件数据;您只能通过 Connect 进行设置(我们曾经有一些脚本可以通过 PHP 来解决这个问题,但我相信 Prod Dev 已经关闭了所有 PHP 访问文件服务器的方法)。您必须使用 SOAP API 通过您的代码检索文件。
但是,如果您只想在客户门户网站上显示一个 link 到文件,那么您可以按照 Arun 在社区中的回答遵循以下格式:
<a href="/ci/fattach/get/<?php echo $file->ID; ?>/<?php echo $file->CreatedTime; ?>/filename/<?php echo urlencode($file->FileName); ?>">Download File</a>
我是服务云的新手,我的任务是找出一种将文件附件保存到自定义对象的方法。我相信到目前为止,我已经完成了这一点,因为我可以看到在我的对象中创建了新记录。我的下一步是找出一种方法来找到给定 ID 的上传文件并显示可点击的 link,它将在新选项卡中打开以显示上传文件的内容。 (类似于股票 FileListDisplay 小部件)。根据 Connect PHP API 文档,没有 ROQL 查询或 fetch() returns 任何文件附件数据。我将如何显示上传的文件?
到目前为止的代码(为简洁起见缩短)
查看:
<form action="https://test.rightnowdemo.com/app/Upload2/uploadcontroller2" method="post" enctype="multipart/form-data" />
<div>
<h3>Select a .txt file only:</h3><br />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<label for="userfile">Select a file:</label>
<input type="file" class="form-control" name="userfile" /><br>
<input type="submit" class="nybeButton" value="Send" />
</div>
</form>
控制器:
function store_attachment($FileName, $FileLocation, $FileType)
{
$MyDocument = new RightNow\Connect\v1_1\UPLOAD\Documents();
$MyDocument->FileAttachments = new RightNow\Connect\v1_1\FileAttachmentArray();
$MyDocument->UserName = "Test user";
$fattach = new RightNow\Connect\v1_1\FileAttachment();
$fattach->ContentType = $FileType;
$file = $FileLocation;
$fattach->setFile($file);
$fattach->FileName = $FileName;
$MyDocument->FileAttachments[] = $fattach;
//\RightNow\Libraries\AbuseDetection::check();
$MyDocument->save();
}
$FileName = $_FILES["userfile"]["name"];
$FileLocation = get_cfg_var('upload_tmp_dir') . "/" . $_FILES["userfile"]["name"];
$FileType = $_FILES["userfile"]["type"];
store_attachment($FileName, $FileLocation, $FileType);
最近有一个类似的问题was asked on the OSvC communities。一般情况下,无法通过Connect for PHP获取文件数据;您只能通过 Connect 进行设置(我们曾经有一些脚本可以通过 PHP 来解决这个问题,但我相信 Prod Dev 已经关闭了所有 PHP 访问文件服务器的方法)。您必须使用 SOAP API 通过您的代码检索文件。
但是,如果您只想在客户门户网站上显示一个 link 到文件,那么您可以按照 Arun 在社区中的回答遵循以下格式:
<a href="/ci/fattach/get/<?php echo $file->ID; ?>/<?php echo $file->CreatedTime; ?>/filename/<?php echo urlencode($file->FileName); ?>">Download File</a>