php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载
###
今天因为工作需要,完成了一个二维码的生成图片,并支持点击下载的
###
控制器文件,相关代码
// 生成二维码
$url = action('Apih5\\VersionController@download', ['provider' => $request->channel]);
// 保存二维码到本地,并返回二维码
$qrcode = $this->app['version']->qrcode($url);
$dir_path = '../public/static/versionChannel/';
$fileName = $request->channel.'.png';
$qrcode = base64_decode( $qrcode);
// 保存到本地,如果不存在文件,则创建新的
$this->app['version']->saveVersionQrcode($qrcode, $dir_path, $fileName); // 保存二维码到本地,并返回二维码
$qrcode = $this->app['version']->qrcode($request->channel, $url);
后台实现下载的控制器
<?php namespace App\Http\Controllers\Apih5; use Illuminate\Http\Request; use App\Http\Requests;
use App\Http\Controllers\Controller; class VersionController extends Controller
{
//版本二维码下载
public function download($provider, Request $request)
{
// 下载二维码
$contenttype = 'image/jpeg';
$dir_path = '../public/static/versionChannel/';
$fileName = $provider.'.png';
$fileurl = $dir_path.$fileName; header("Cache-control: private");
header("Content-type: $contenttype"); //设置要下载的文件类型
header("Content-Length:" . filesize($fileurl)); //设置要下载文件的文件大小
header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名 readfile($fileurl); }
}
方法所在文件
/**
* 生成二维码 for apih5/VersionController
* @param [type] $id [description]
* @return [type] [description]
*/
public function qrcode($url)
{
$qrcode = new QrcodeHelper;
$qrcode = $qrcode->getVersionChannelQr($url); return $qrcode;
} /**
* 保存二维码到本地文件夹
*/
public function saveVersionQrcode($qrcodeData, $dir_path, $fileName)
{
// 判断目录是否存在,不存在则生成
if (!file_exists($dir_path) ) {
mkdir("$dir_path",0777, true);
}
$fileurl = $dir_path.$fileName;
// 保存到本地,如果不存在文件,则创建新的
file_put_contents($fileurl, $qrcodeData, FILE_USE_INCLUDE_PATH);
}
前台试图
显示二维码图片的位置
<td>
<a href="{{ action('Apih5\\VersionController@download',['provider' => $version->channel]) }}" >
<img width="100px" src="{{url('/static/versionChannel/'.$version->channel.'.png')}}"/>
</a>
</td>
php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载的更多相关文章
- jQuery.qrcode 生成二维码,并使用 jszip、FileSaver 下载 zip 压缩包至本地。
生成二维码 引用 jquery.qrcode.js :连接:https://files.cnblogs.com/files/kitty-blog/jquery.qrcode.js .https:// ...
- android开发之集成zxing,二维码,以及扫描二维码的功能实现。带源代码下载
package cc.jiusansec.www; import com.google.zxing.WriterException; import com.zxing.activity.Capture ...
- js生成二维码以及点击下载二维码
js生成二维码 jquery.qrcode.js可以快速使用页面生成二维码.但改项目有两个小问题:1.不支持中文:2.不支持二维码中间生成图片. 支持中文的jquery-qrcode jquery.q ...
- js将网址转为二维码并下载图片
将一个网址转为二维码, 下面可以添加文字, 还提供下载功能 利用的是 GitHub上面的qrcode.js 和canvas <!DOCTYPE html> <html> < ...
- 使用javascript生成当前博文地址的二维码图片
前面的话 在电脑端发现一篇好的博文,想在手机上访问.这时,就必须打开手机浏览器输入长长的URL地址才行,非常不方便.如果在博客标题的后面跟一张小的图片,点击该图片后,出现一张二维码的大图,然后再通过手 ...
- QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
目录 功能介绍 常见问题 效果图与示例 apk Gradle 依赖 布局文件 自定义属性说明 接口说明 关于我 功能介绍 根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到 ...
- 图片的base64编码通过javascript生成图片--当前URL地址的二维码应用
前面的话 在电脑端发现一篇好的博文,想在手机上访问.这时,就必须打开手机浏览器输入长长的URL地址才行,非常不方便.如果在博客标题的后面跟一张小的图片,点击该图片后,出现一张二维码的大图,然后再通过手 ...
- 好推二维码如何通过应用宝微下载支持微信自动打开APP下载?
好推二维码 官网 http://www.hotapp.cn 1. 为什么使用应用宝微下载? APP下载二维码,通过微信扫描下载的时候,微信目前只支持应用宝微下载,才能在微信里直接打开下载,否则就需要在 ...
- C# 利用QRCode生成二维码图片
网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...
随机推荐
- python-虚拟环境搭建
虚拟环境 需求: --公司之有一台服务器 -目前运行这一个5年前开发的Django项目,基于1.5 -现在要基于Django2.0开发一套程序 ...
- maven项目的聚合与继承
maven项目的聚合与继承: 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 1 <modules> 2 <module>模 ...
- List、Map、set的加载因子,默认初始容量和扩容增量
首先,这三个概念说下.初始大小,就是创建时可容纳的默认元素个数:加载因子,表示某个阀值,用0~1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作:扩容方式,即指定每次扩容后的大小的规 ...
- (6)设计一个TimeMap
一.描述 设计一个TimeMap,基于key value的 支持两类操作set(string key, string value, int timestamp),get(string key, int ...
- linux(Cnetos7)安装jdk和tomcatmysql,tomcat
mysqllinux版本的地址 安装包下载 下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-1.el6.x86_64.rp ...
- [C++]PAT乙级1006. 换个格式输出整数 (15/15)
/* 1006. 换个格式输出整数 (15) 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数. 例如234应该 ...
- 用python在后端将数据写入到数据库并读取
用python在后端将数据写入到数据库: # coding:utf- import pandas as pd from sqlalchemy import create_engine # 初始化数据库 ...
- spring boot 与 spring cloud 关系
公司使用spring cloud,所以稍微了解一下 看了一下spring官网对 spring boot 以及 spring cloud 的解释 Spring Boot Spring Boot make ...
- MySQL基本命令(待更新...)
数据库操作SQL语句 show databases; 表操作SQL语句 数据库权限操作SQL语句 参考链接 :http://www.cnblogs.com/bzys/archive/2013/01/2 ...
- 黑马程序员_超全面的JavaWeb视频教程vedio--.ppt,.pptx,.doc,.txt,.docx列表
\JavaWeb视频教程_day1-资料源码\day01-html目录.txt;\JavaWeb视频教程_day1-资料源码\PPT\HTML.ppt;\JavaWeb视频教程_day1-资料源码\资 ...