当前位置: 首页 > 知识库问答 >
问题:

点击下载MP3文件[复制]

拓拔骁
2023-03-14

作为一名新的程序员,我一直在做大量的尝试和错误,并坚持使用那些有效的发现,但我目前使用的方法并不适用于所有浏览器。

我们的PHP代码

$songs = file_get_contents('https://example.com/tracks/'.$id.'/');
$filename = './tmp/'.$SongTitle.'.mp3'; // used for the file_put_contents.
$filenames = '/tmp/'.$SongTitle.'.mp3'; // used for the echo
file_put_contents($filename, $songs);

HTML下载按钮。

<div style="text-align: center; font-size: 20px;" class="testing-content">
<button type="button" class="btn btn-success"><a href="<?php echo $filenames; ?>" download='<?php echo $filenames; ?>' href="javascript:">Download</button></a>
</div>

你可以看到我使用的是Html5和上面的Javascript方法,这意味着它只支持FireFox和GoogleChrome。

如何允许所有浏览器上的用户点击我们的按钮下载文件?

共有2个答案

黄成荫
2023-03-14

好的,按照约定:

<?php

$file = "example.mp3";

header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.$file);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
header("Content-Type: audio/mp3");
readfile($file);

?>

现在只需创建一个指向此php文件的超链接或按钮。

编辑:我应该补充说,这只是一个例子,当然要求!这种方法目前的形式效率很低。如果计划使用多个音频文件,则应通过POST/GET动态生成文件名。

金皓君
2023-03-14

原因是火狐和谷歌Chrome自动播放音频或视频的哑剧类型八位字节流,但IE不支持这一点。

你需要补充。在服务器配置中输入mp3扩展名和mime,以便在IE中下载文件。

 类似资料:
  • 问题内容: 我正在编写一个应用程序,可以在其中输入来自Web的mp3文件的URL,当我单击下载时,该应用程序会将其下载到应用程序中。有人能帮我吗 ?我是ios开发的新手。我正在尝试学习Swift 问题答案: Xcode 8•Swift 3

  • 我刚开始使用Flask/Python。我想要实现的是,我在HTML中有一个下载按钮,它调用以下函数: 不完整的烧瓶代码是:

  • 我正试图从Dropbox下载一些音频文件供用户下次在没有互联网的情况下使用,因此代码实际上下载了该文件,但我在播放该音频时遇到了问题,我不知道是否需要解析下载的文件或其他什么,希望您能提供帮助 下载文件并播放它类,它在执行后播放它,或者至少它尝试 我在日志上发现了这个错误 问题是试图播放下载的文件,即使尝试播放它与Android本地播放器它说"该播放器不支持这种类型的音频文件",所以我不知道我是否

  • 问题内容: 我有FTP,我需要在上载目录中列出FTP中的所有文件,单击任何列出的文件后,它将从FTP下载特定文件。 它在上载目录中列出了我的文件,但是当我尝试下载文件时,它会键入“没有文件” 我的代码: 问题答案: 您在生成的标记中的链接指向不包含链接文件的Web服务器。 您需要做的是链接到PHP脚本,并为其指定要下载的文件的名称。然后,脚本将从FTP服务器下载文件,并将下载的文件传递回用户(至W

  • 问题内容: 我刚开始使用Flask / Python。我想要实现的是在HTML中有一个下载按钮,它调用以下函数: 不完整的Flask代码为: 我面临的问题是我找不到下载此csv文件或将其作为JSON字符串返回的方法,因此可以使用Javascript下载。知道如何将其作为JSON发送或通过Flask本身下载吗?最好的方法是什么? 问题答案: 这是一种不使用Javascript下载CSV文件的方法:

  • 本文向大家介绍vue实现点击按钮下载文件功能,包括了vue实现点击按钮下载文件功能的使用技巧和注意事项,需要的朋友参考一下 项目中需要用到文件下载功能,查了资料发现需要用到a标签的特性,但是这边需要用到点击按钮下载,懒得写样式,于是用了以下代码. 在el-button的外面套了一层el-link,如下图,可以正常下载 以下是el-link文字链接的属性 总结 以上所述是小编给大家介绍的vue实现点