php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载

###

  今天因为工作需要,完成了一个二维码的生成图片,并支持点击下载的

###

控制器文件,相关代码

 1  // 生成二维码
 2         $url = action(‘Apih5\\[email protected]‘, [‘provider‘ => $request->channel]);
 3 // 保存二维码到本地,并返回二维码
 4         $qrcode = $this->app[‘version‘]->qrcode($url);
 5         $dir_path = ‘../public/static/versionChannel/‘;
 6         $fileName = $request->channel.‘.png‘;
 7         $qrcode = base64_decode( $qrcode);
 8 // 保存到本地,如果不存在文件,则创建新的
 9         $this->app[‘version‘]->saveVersionQrcode($qrcode, $dir_path, $fileName);
10
11  // 保存二维码到本地,并返回二维码
12         $qrcode = $this->app[‘version‘]->qrcode($request->channel, $url);

后台实现下载的控制器

 1 <?php
 2
 3 namespace App\Http\Controllers\Apih5;
 4
 5 use Illuminate\Http\Request;
 6
 7 use App\Http\Requests;
 8 use App\Http\Controllers\Controller;
 9
10 class VersionController extends Controller
11 {
12     //版本二维码下载
13     public function download($provider, Request $request)
14     {
15         // 下载二维码
16         $contenttype = ‘image/jpeg‘;
17         $dir_path = ‘../public/static/versionChannel/‘;
18         $fileName = $provider.‘.png‘;
19         $fileurl = $dir_path.$fileName;
20
21         header("Cache-control: private");
22         header("Content-type: $contenttype"); //设置要下载的文件类型
23         header("Content-Length:" . filesize($fileurl)); //设置要下载文件的文件大小
24         header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名
25
26         readfile($fileurl);
27
28     }
29 }

方法所在文件

 1  /**
 2      * 生成二维码 for apih5/VersionController
 3      * @param  [type] $id [description]
 4      * @return [type]     [description]
 5      */
 6     public function qrcode($url)
 7     {
 8         $qrcode = new QrcodeHelper;
 9         $qrcode = $qrcode->getVersionChannelQr($url);
10
11         return  $qrcode;
12     }
13
14     /**
15     *  保存二维码到本地文件夹
16     */
17     public function saveVersionQrcode($qrcodeData, $dir_path, $fileName)
18     {
19         // 判断目录是否存在,不存在则生成
20         if (!file_exists($dir_path) ) {
21             mkdir("$dir_path",0777, true);
22         }
23         $fileurl = $dir_path.$fileName;
24         // 保存到本地,如果不存在文件,则创建新的
25         file_put_contents($fileurl, $qrcodeData, FILE_USE_INCLUDE_PATH);
26     }

前台试图

显示二维码图片的位置

1  <td>
2
3       <a href="{{ action(‘Apih5\\[email protected]‘,[‘provider‘ => $version->channel]) }}" >
4           <img width="100px" src="{{url(‘/static/versionChannel/‘.$version->channel.‘.png‘)}}"/>
5       </a>
6 </td>
时间: 2024-10-12 15:57:21

php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载的相关文章

如何设置微信点击链接或扫一扫二维码跳转外部浏览器打开网页下载

本文章向大家介绍微信自动跳转浏览器打开APP(APK)下载链接,主要包括微信自动跳转浏览器打开APP(APK)下载链接使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下. 操作步骤 月牙跳转是一款基于微信后端开发了一款微信营销下载推广助手,使用了本插件生成的链接,用户在微信任意环境下点击链接或者扫描二维码,可以实现直接跳转手机默认浏览器并打开指定网页. 1.打开 月牙跳转 网址:http://www.aizhuanlove.cn/ 2.准备好我们的推广链

js生成二维码以及点击下载二维码

js生成二维码 jquery.qrcode.js可以快速使用页面生成二维码.但改项目有两个小问题:1.不支持中文:2.不支持二维码中间生成图片. 支持中文的jquery-qrcode jquery.qrcode.js默认不支持中文.这跟js的机制有关系,jquery-qrcode这个库是采用 charCodeAt()这个方式进行编码转换的, 而这个方法默认会获取它的 Unicode 编码,一般的解码器都是采用UTF-8, ISO-8859-1等方式,英文是没有问题,如果是中文,一般情况下Unic

使用javascript生成当前博文地址的二维码图片

前面的话 在电脑端发现一篇好的博文,想在手机上访问.这时,就必须打开手机浏览器输入长长的URL地址才行,非常不方便.如果在博客标题的后面跟一张小的图片,点击该图片后,出现一张二维码的大图,然后再通过手机扫一扫,来进行博文的访问,就相对方便很多. 通过搜索引擎搜索了一些生成二维码的文章,发现其并不是一件容易的事.同时,也发现了qrcode插件,该插件专门用于生成二维码.于是,在qrcode的基础上,实现了一个二维码插件qr 效果演示 如果细心的话,会发现该博文标题的后面紧跟着一个表示二维码的手机小

C# 利用QRCode生成二维码图片

引用LYBwwp的博文http://blog.csdn.net/lybwwp/article/details/18444369 网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了一个项目后,简单的整理了一下. 组件下载地址:http://download.csdn.net/detail/lybwwp/6861821 下载文件包包含ThoughtWo

Thinkphp3.2版本结合phpqrcode生成二维码并提供下载

说明:这篇文章主要为大家详细介绍了Thinkphp3.2.3整合phpqrcode生成带二维码的实现方法并提供图像下载,感兴趣的小伙伴们可以参考一下 缘由:Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能. 一.phpqrcode下载地址:http://phpqrcode.sourceforge.net/ 放置位置:Thinkphp/Vendor/目录下,如下图 二.写代码 HTML代码 <!DOCTYPE html> <html lan

利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验

前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码: 原理分析: 下载下来的类文件是一个压缩包,包含很多文件和演示程序,我们只需要里边的phpqrcode.php 这一个文件就可以生成二维码了,它是一个多个类的集合文件,我们需要用到里边的QRcode类的png()方法: public static function png($text, $outf

微信扫描二维码在内置浏览器打不开文件的下载链接怎么办?哪些api接口可以解决

有哪些api接口可以实现微信扫描二维码在内置浏览器打开文件的下载链接? 经常看到贴吧上有人吐槽微信的检测系统太严格了,动不动就拦截第三方链接.怎么才能解决,怎么才能避免等等一系列的问题.因为平时我也会分享一些有趣的app给朋友,所以这个问题就成了我的心头大患.于是我去百度找各种解决方案,最终找到了几个比较靠谱的api接口,用了以后感觉挺方便的,特写该篇文章分享给大家: Mindjump-API接口平台 366API-接口平台 大象跳转-API接口平台 这三个平台就接口稳定性这块相差都不大,唯一就

页面生成二维码并下载(页面下载,程序下载)

生成二维码引用以下js function QR8bitByte(a) { this.mode = QRMode.MODE_8BIT_BYTE, this.data = a } function QRCode(a, b) { this.typeNumber = a, this.errorCorrectLevel = b, this.modules = null, this.moduleCount = 0, this.dataCache = null, this.dataList = new Arr

随手记一次利用开源zxing生成带嵌入logo的二维码图片

之前就在项目里面用过zxing生成二维码,最近另一个项目同样需要用到二维码,故重新在学了学利用zxing生成二维码 接下来先做准备工作了,因为我是用vs2013上开发的,故选择了.net4.5版本的zxing.dll.另外准备了一张准备嵌入的图片,代码如下: 1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Drawing; 5 using System.L