nginx x-sendfile下载_anjile1234567890的博客-程序员宅基地

技术标签: 运维  移动开发  

    // 利用nginx直接下载文件,提高效率

    public function download_apk_efficient($internal_file_path,$file_name){

        // And redirect user to internal location

        header("Content-Type: application/vnd.android.package-archive");

        header("Content-Disposition: attachment; filename=".$file_name);

        header("X-Accel-Redirect: " . $internal_file_path);

    }

 

 

调用的:

             Module::factory("Download")->download_apk_efficient("/promoter_files/". $relative_file_path, $out_name); //promoter_files是在nginx的innernal中配置的路径,例如我下载/server/hosting/mobilechannel/promoter_download2/12/1.file,这里实际调用的是download_apk_efficient("/promoter_files/12/1.file" ,$out_name)

 

 

 

在nginx里配置:

        location /promoter_files/ {   #/promoter_files/是我取的名字,表示alias字段代表的路径

                internal;

                alias   /server/hosting/mobilechannel/promoter_download2/;   #这里是文件的实际路径

        }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anjile1234567890/article/details/84691368

智能推荐

getmethod方法_MyBatisPlus使用QueryWrapper方法说明_weixin_39637661的博客-程序员宅基地

这是一篇干货文章!Mybatis-Plus简介:Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这...

2021-04-26_——风吹花落——的博客-程序员宅基地

实验五 类和对象程序设计一、实验目的1、掌握类的定义方法2、掌握对象的创建和使用3、掌握构造方法的使用二、实验硬、软件环境Windows计算机和Eclipse软件三、实验内容及步骤1. 定义教师类,要求输出教师类的属性(姓名、性别、研究方向等)和方法(展示教师各属性的方法)首先创建一个标准的Teacher类:public class Teacher {private String name;private String sex;p...

Android自定义圆角矩形ImageView,支持Glide加载图片及颜色填充_宿罪的博客-程序员宅基地

前言: 之前用到圆角的情况大都是自定义一个shape背景drawable及用到v7包下的CardView包裹View实现圆角矩形效果,还有就是在用户圆形头像的时候需要使用到圆角矩形(圆形可以看做是特殊的圆角矩形),诸如Button,Editext,TextView的圆角矩形颜色背景可以用shape实现,但是ImageView Res圆角还没用到过,它就不能简单地设置一个圆角矩形shape作为背...

hash_strmap & gold_hash_map update_Terark-CTO-雷鹏的博客-程序员宅基地

hash_strmap在不增加任何额外成本的情况下,string pool 中每个 string 消耗的内存,平均情况下,减少了一个字节。太不值一提。gold_hash_map计划新加功能:   使用 FreeList 管理已删除的元素,这样最大的好处是:即使有元素删除,所有未被删除的元素的 id(数组下标)都不会改变。这样,就可以把 id(数组下标)作为元素的永久标识,可以把这个

IDEA 自动生成类注释和手动快捷键生成方法注释_z银的博客-程序员宅基地_idea快捷键生成方法注释

一.新建类,自动生成类注释的模板配置找到设置:File->Settings->Editor->File and Code Templates->Class![在这里问问插入图片描述](https://img-blog.csdnimg.cn/20210315164408521.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L

Java JDBC入门之一: 基础知识和通过Driver接口获取数据连接_不等风雨,只等你的博客-程序员宅基地_java中driver

Java JDBC入门之一: 基础知识和通过Driver接口获取数据连接 目录一、数据持久化(persistence)二、java中的存储技术JDBC基础 JDBC体系结构 JDBC驱动程序分类 ODBCJDBC-ODBC桥 部分本地API部分Java的驱动程序 JDBC网络纯Java驱动程序本地协议的纯 Java 驱动程序  JDBC API ...

随便推点

超实数是“数”吗?_yuanmeng001的博客-程序员宅基地_超实数

超实数是“数”吗?在我们国内,普遍认为:超实数不是“数”,请见科普中国以及全部高等数学教科书。在国外,超实数是“数”,请见本文附件。注:超实数是非标准书。数,因而是“数”。袁萌 陈启清 7月14日附件:A number is a mathematical object used to count, measure, and label. The original exa...

FTP服务器工作原理及配置详解_weixin_34290390的博客-程序员宅基地

FTP服务器工作原理及配置详解FTP工作原理概述 FTP:file transfer protocol它也是一个C/S架构的服务。server:监听在套接字21/tcp端口。按照套接字监听工作...

一个简易的制作黑苹果或者白苹果系统dmg原版安装镜像的方法_qq_31683775的博客-程序员宅基地_制作苹果系统镜像

一个简易的制作黑苹果或者白苹果系统dmg原版安装镜像的方法-黑苹果动力

SQL 增加或删除一列_dazhi_100的博客-程序员宅基地_sql删除一列

alter table tablename drop column columnname;alter table tabelname add columnname varchar2(8) NULL;一 . 常用mysql命令行命令       1 .启动MYSQL服务 net start mysql停止MYSQL服务 net stop mysql       2 .

Vue从零开始01——Vue双向绑定原理和MVVM_没有什么时间是比现在合适的的博客-程序员宅基地

Vue从零开始01——Vue介绍​ Vue是一个主张较弱的渐进式框架,什么是主张弱的渐进式框架呢?主张弱和渐进式说的都是,可以灵活的选取你需要用的东西和不需要用的东西,需要用的就引进来,不需要用的就不引,所有的一切都是由我们自己决定的。比如说,我们只是用到声明式渲染,我们只需要引入Vue.js就可以了,如果是要做一个spa只需要引入Vue-router就行了 ,如果是需要对全局的...

rxjava : interval、 intervalRange 、timer 、range、 defer_Mars-xq的博客-程序员宅基地

//interval//每隔一段时间就会发送一个事件,这个事件是从0开始,不断增1的数字。//心跳,周期执行private void interval() { Disposable disposable = Observable.interval(1, TimeUnit.SECONDS) .subscribe(new Consumer<Long>(...

推荐文章

热门文章

相关标签