Oracle服务云文件附件上传/查看


Oracle Service Cloud File Attachment upload/view

我是云服务的新手,我的任务是找出一种将文件附件保存到自定义对象的方法。我相信我到目前为止所完成的就是,因为我可以看到在我的对象中创建的新记录。我的下一步是找出一种方法来查找给定ID的上传文件,并显示一个可单击的链接,该链接将在新选项卡中打开,以显示上传文件的内容。(类似于常用的FileListDisplay小部件)。根据Connect PHP API文档,没有ROQL查询或fetch()返回任何文件附件数据。如何显示上传的文件?

目前的代码(为简洁而缩短)

视图:

   <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);

最近OSvC社区也问了一个类似的问题。通常,没有办法通过PHP的Connect来获取文件数据;您只能通过Connect进行设置(我们曾经使用一些脚本来绕过PHP,但我相信Prod Dev已经关闭了所有访问文件服务器的PHP方法)。您必须使用SOAP API通过您的代码检索文件。

但是,如果您只想在Customer Portal上显示指向该文件的链接,那么您可以按照Arun在社区中的回答遵循以下格式:

<a href="/ci/fattach/get/<?php echo $file->ID; ?>/<?php echo $file->CreatedTime; ?>/filename/<?php echo urlencode($file->FileName); ?>">Download File</a>