js前台下载重命名阿里云oss文件,速度极快,不受本地服务器带宽、空间、内存大小影响,php后台

直接用SDK生成下载的签名URL,然后模拟鼠标点击下载。

我用的是前台通过ajax传过来需要下载的文件名,php处理,将生成的签名url返回给前台,用于下载

先上代码:php,需要先引用阿里云的 Oss/OssClient类

Git下载地址,

/* 
     *阿里云oss二维码重命名
    */
    public function OssRename()
    {
        $data = input('post.');

        $object = 'f/1.jpg';//文件名,需要指定文件夹文件名和后缀
        $accessKeyId = ;
        $accessKeySecret = ;
        $endpoint = ;
        // 存储空间名称
        $bucket= ;
        //这些都是可以在阿里云控制台找到的

        // 设置URL的有效期为3600秒。
        $timeout = 3600;
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
        $new_file_name = '超级男孩.jpg'; //新的文件名
        $oss_config = array(
            $ossClient::OSS_SUB_RESOURCE => 'response-content-disposition=attachment%3Bfilename%3D'.$new_file_name);

        // 生成GetObject的签名URL。
        $signedUrl = $ossClient->signUrl($bucket, $object, $timeout, $ossClient::OSS_HTTP_GET, $oss_config);
        return json([
            'code'=>1,
            'msg'=>'请求成功',
            'data'=>$signedUrl
        ]);
    }

前台js代码:

	$.post("{:url('FeedBack/OssRename')}",{
					//传需要的参数
				},function(res){
					console.log(res);
			    var url = res.data; 						  // 获取图片地址
                var a = document.createElement('a');          // 创建一个a节点插入的document
                var event = new MouseEvent('click')           // 模拟鼠标click点击事件
                a.href = url;                                 // 将图片的src赋值给a节点的href
				a.dispatchEvent(event);                       // 触发鼠标点击事件
				});

把这个绑定到下载按钮就可以了,我这里用的是tp框架

已标记关键词 清除标记
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页