【问题标题】:play media file or open image in browser cakephp在浏览器中播放媒体文件或打开图像 cakephp
【发布时间】:2013-07-18 08:09:55
【问题描述】:

我正在使用 cakephp 2.x 我想在浏览器中播放音频并打开图像....

在我的“视图”中,我有以下代码正确显示了文件名,并显示了下载链接,并且文件正在成功下载

 <?php  echo $this->Html->link('Download', array('controller' => 'bugshot', 'action' => 'download', $files['Audio']['filename']));?>

现在我也想播放这个音频文件..因为我在页面上有两个舔,第一个是下载,另一个是查看或播放

在我的控制器中,我有以下正在下载文件的代码

      public function download($filename) {

    $idUser = $this->Auth->user('idUser');
    $folder_url = APP.'uploads/'.$idUser.'/'.$filename;
    $this->response->file($folder_url, array('download' => true, 'name' => $filename));

    return $this->response;
}

【问题讨论】:

  • 要播放音频文件,您需要某种播放器以使其跨浏览器兼容。音频文件是什么格式的?
  • @YonoRan 我知道,但有时我只想查看...例如跳过音频部分 .. 我如何查看图像
  • @AD7six okkk 让我试试 .. 抱歉,大家回复晚了
  • @AD7six 谢谢...你的回答解决了我的问题...我只是下载到 false 并且它有效

标签: cakephp file-upload cakephp-2.0 cakephp-2.1


【解决方案1】:

下载和提供文件几乎是一样的

通过 Cake 提供文件可以使用类似于以下的一个功能来完成:

public function download($filename) {
    $download = !empty($_GET['download']); // <- example

    $idUser = $this->Auth->user('idUser');
    $folder_url = APP.'uploads/'.$idUser.'/'.$filename;
    $this->response->file($folder_url, array('download' => $download, 'name' => $filename));
    return $this->response;
}

这样,请求 url /.../this-file.mp3 将提供文件,而 url /.../this-file.mp3?dowload=1 将下载它。

音频是一个html5标签

提供音频的最简单方法是使用audio tag

<?php
    $url = Router::url(array('controller' => 'x', 'action' => 'download', $name));
    $download = Router::url(array('controller' => 'x', 'action' => 'download', $name, '?' => array('download' => 1)));
?>
<audio src="<?= $url; ?>" controls>
<!-- alternate content for unsupported case -->
Download <a href="<?= $download ?>">Download it</a>;
</audio>

作为一个相对较新的标签,支持并不普遍 - 请参阅 Detailed article on support 或其他资源以获取有关如何处理不支持此标签的浏览器的更多信息。

或者,使用现有的众多基于 Flash 的媒体播放器之一。

【讨论】:

    猜你喜欢
    • 2011-05-19
    • 2012-05-30
    • 2013-09-12
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多