媒体视图如何在cakephp中工作?

我已经安排了一个文件上传发生在我的应用程序相对地址:webroot/files媒体视图如何在cakephp中工作?

现在我需要强制下载上传的文件。一些谷歌搜索,并从this post尝试最喜欢的建议后,我想出正确的方式做到这一点是使用cakephps Media Views

我有什么:

  1. 主要网站有记录的表。 型号 - >记录; 表 - >记录;
  2. 这些记录有一个主键record_id。
  3. 在我的数据库中,我有一个表 - >文件; 模型 - >文件;
  4. 这些文件有一个外键record_id和一个字段'url'以及它的位置的相对路径。
  5. 在用文件创建记录后,文件被正确地上传到文件夹,该文件夹的相对地址是例如。 webroot/files/record_name/file和数据库中的表正确更新。

我想要做什么:

  1. 双击一个表行打开一个模式对话框与有关记录的信息后。 (完成)
  2. 在这个模式对话框中,我想显示将强制下载这些文件的链接。

我试过很多这样的变化:

//the retrieving of data after debug looks fine// 

$this->loadModel('File');

$files = $this->File->find('list', array(

'conditions'=>array('File.record_id'=>$record_id),

'fields' => array('File.Name', 'File.Url');

))

//actual display of url

foreach($files as $file_name => $file_url) {

echo $this->Html->link($file_name, $file_url);

}

生成的链接看起来完全相同的方式James Revillini presented

这是我的实际问题

因为这个问题是不是完全解决了,我认为这不仅对我有帮助,而且对于任何一个人都有帮助为此问题的快速解决方案,请查看Media-views如何工作的快速演示。我不知道在哪里进行动态下载功能后移至:

public function download($name, $path) { 

$this->viewClass = 'Media';

$params = array(

'id' => $name,

'name' => $name,

'download' => true,

'path' => $path

);

$this->set($params);

}

回答:

点资源给download()功能在模态对话框中的链接。

Record.id传递给该函数。在它中找到该文件并自动渲染它。

它应该工作。

以上是 媒体视图如何在cakephp中工作? 的全部内容, 来源链接: utcz.com/qa/258481.html

回到顶部