首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Safari中播放音频文件而不让任何人直接下载?

如何在Safari中播放音频文件而不让任何人直接下载?
EN

Stack Overflow用户
提问于 2019-05-16 17:06:30
回答 1查看 65关注 0票数 1

我想在浏览器中播放音频文件,不想让任何人直接从URL下载它们。目前,它在谷歌浏览器上运行良好,但Safari甚至不能通过我的方式播放音频文件。

我将音频标记资源设置为通过Storage:: get ($filename)获取音频文件内容的控制器。

代码语言:javascript
运行
复制
<audio controls="controls">
    <source src="http://localhost:8000/audio/getAudio/{{ $filename }}">
</audio>
代码语言:javascript
运行
复制
public function getAudio($filename)
{
    return Storage::get($filename);
}

Safari控制台中没有显示错误消息,所以我很难进行调试。

也许还有另一种方法可以实现我想要的,比如使用.htaccess来阻止用户下载任何其他没有显示在当前网页中的音频文件,这样我就不需要将音频文件隐藏在存储文件夹中。

我以前从来没有用过.htaccess,可能需要一段时间才能学会。

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 18:27:27

为了避免下载文件,您需要在响应中添加适当的标头。

如下所示:

代码语言:javascript
运行
复制
public function getAudio($filename)
{
    $file = Storage::get($filename);
    return (new Response($file, 200))
           ->header('Content-Type', 'audio/aac');
}

您可以在响应中指定文件的MIME类型。

更多信息请点击这里:MIME Types

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56164818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档