Nginx实现MP3的播放和下载

参考:

http://segmentfault.com/blog/p_chou/1190000000437323?utm_source=tuicool

http://www.netingcn.com/nginx-add-header.html

http://nginx.org/cn/docs/http/ngx_http_rewrite_module.html

项目需要MP3下载的功能,GOOGLE了几篇文章,参考实现了这个功能,用时大概3个番茄钟,了解了Nginx内置变量和正则判断请求URL的方法。

需求:

打开URL:http://localhost/a_short_song.mp3 ,在线播放音乐

打开URL:http://localhost/a_short_song.mp3?download=a.mp3 实现MP3下载,并重命名文件名为指定参数: a.mp3

Nginx配置文件中的配置代码如下:

        location / {
			index index.html index.php;
			if ($arg_download){
				add_header Content-Disposition "attachment; filename=$arg_download";
			}
        }

问题:中文文件名时有问题,如http://localhost/a_short_song.mp3?download=张三.mp3时,下载的文件名称为:%E5%BC%A0%E4%B8%89.mp3,有待解决一下。

时间: 2024-10-29 13:35:43

Nginx实现MP3的播放和下载的相关文章

推荐漂亮的flash网页MP3音乐播放器

文章来源:PHP开发学习门户 地址:http://www.php#thinking.com/archives/491  (去点#) 在网页制作中,如果想在网页中插入mp3音乐来增添网页的互动感,提升用户体验度,这个时候网页音乐播放器就很有必要了,一般的情况下如果用背景音乐播放的话有几个很不友好的地方 1.随网页加载就播放,用户不能暂停,停止播放 2.一般浏览器兼容性差,很少能通用全部浏览器 所以一款基于flash的网页音乐播放器就很有必要了. 他有以下一些优点 1.浏览器兼容性好,现在一般的主流

MP3/WAV 播放

一.编译libmad  1.先下载压缩包到本地,并解压 tar -xvzf  libmad-0.15.1b.tar.gz   -C   ./ 2.进入源代码文件夹并配置 编写一个配置文件,便于< 改动和编译 >  文件内容例如以下 ./configure CC=arm-linux-gcc  --host=arm-linux  --build=i686-pc-linux-gnu  --enable-fpm=arm  --enable-shared --disable-debugging --pr

推荐美丽的flash网页MP3音乐播放器

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/491 在网页制作中.假设想在网页中插入mp3音乐来增添网页的互动感,提升用户体验度,这个时候网页音乐播放器就非常有必要了.一般的情况下假设用背景音乐播放的话有几个非常不友好的地方 1.随网页载入就播放,用户不能暂停.停止播放 2.一般浏览器兼容性差.非常少能通用所有浏览器 所以一款基于flash的网页音乐播放器就非常有必要了. 他有下面一些长处 1.浏览器兼容性好.如今一般的主流浏览器都

nginx安装-添加MP4播放模块

nginx安装很简单,但是有的时候是已经安装的nginx ,升级增加nginx 模块功能. 最近公司要nginx增加一个可以播放 MP4的模块,安装还算顺利,不说废话上命令. 1 安装依赖 yum install -y make zilb-devel openssl-devel pcre-devel libaio libaio-devel wget http://nginx.org/download/nginx-1.10.3.tar.gz #创建用户和用户组 groupadd wwwuserad

Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理

解决WebView的定位功能.视频全屏播放.下载功能.页面Url的处理.进度条处理 事先说明: 定位功能在安卓6.0需要用户手动确认权限后才能使用 若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问 详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob) 如果对内容不理解的话,可参考最后的整个类的代码 如果对BaseActivity这个抽象类不理解的话,可以查看下面一篇文章对BaseActivity的介绍 步骤一:webv

简单mp3音频播放器的实现

本篇主要介绍使用Mediaplayer实现mp3简易音乐播放器,程序运行界面如下 下面是代码实现,因为代码比较简单,注释已经比较明确了. public class PlayActivity extends Activity implements OnClickListener { private EditText filenameText; // 音频播放的主要类 private MediaPlayer mediaPlayer; private String filename; // 记录播放位

使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

前言 本章将实现非常实用的功能——下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术细节实现! 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 系列 1.使用Vitamio打造自己的Android万能播放器(1)——准备 2.使用Vitamio打造自己的Android万

JS单曲调用百度mp3音乐播放器代码

在网上找的单曲调用百度mp3音乐播放器的代码,改了改,文本框输入歌曲名,中文逗号,歌手名,回车就可以试听了.几点说明:  百度音乐api 音乐文件地址,span,p,div,等都可以,ID 必须是songplay:  参数说明,第一个是歌曲名字,第二个是演唱者,最后一个如果为空则自动播放,不为空则手动播放.  参数间用中文逗号 , 分隔 ,点击按钮或者回车都可以播放. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN

nginx+gridfs实现文件分布式存储和下载

GridFS是一种将大型文件存储在MongoDB的文件规范.所有官方支持的驱动均实现了GridFS规范.GridFS的一个优点是可以存储上百万的文件而无需担心扩容性 GridFS的部署的选择方案不多,大概有以下几种: 1.通过mongo client的script,比如PHP/JAVA 优点:简单,可以直接通过脚本去解决文件的输出问题 缺点:每次都要读取mongo数据库,并且无法支持断点续传 2.使用nginx-gridfs模块 nginx-gridfs是一个nginx的一个第三方模块插件,可以