媒体视图如何在cakephp中工作?
我已经安排了一个文件上传发生在我的应用程序相对地址:webroot/files媒体视图如何在cakephp中工作?
现在我需要强制下载上传的文件。一些谷歌搜索,并从this post尝试最喜欢的建议后,我想出正确的方式做到这一点是使用cakephps Media Views
我有什么:
- 主要网站有记录的表。 型号 - >记录; 表 - >记录;
- 这些记录有一个主键record_id。
- 在我的数据库中,我有一个表 - >文件; 模型 - >文件;
- 这些文件有一个外键record_id和一个字段'url'以及它的位置的相对路径。
- 在用文件创建记录后,文件被正确地上传到文件夹,该文件夹的相对地址是例如。 webroot/files/record_name/file和数据库中的表正确更新。
我想要做什么:
- 双击一个表行打开一个模式对话框与有关记录的信息后。 (完成)
- 在这个模式对话框中,我想显示将强制下载这些文件的链接。
我试过很多这样的变化:
//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