base64图片上传处理方式

前台传图片的base64格式,后台处理方式//处理图片信息 返回对应的路径public function uploadBaseIma($imgArr){    $result = array();    //将路径直接设置在uploads下    if($imgArr){        foreach($imgArr as $k => $v){            if($v){                //判断上传的是否为原地址                $a = preg_match(‘/.*(\.png|\.jpg|\.jpeg|\.gif)$/‘, $v);                if($a){                    //是就存储不变,将文件路径存储                    $b = substr($v,36);                    $result[$k] = $b;                }else{                    //不是就上传图片                    $address = $this->baseChangeImg($v);                    $result[$k] = $address;                }            }else {                return array();            }        }        return $result;    }}//base64转化为本地图片public function baseChangeImg($base){    //匹配出图片的格式    if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base, $result)) {        $type = $result[2];        $path = ‘/base‘ . date(‘Ymd‘, time()) . "/";        $new_file = public_path(‘uploads‘) . $path;        if (!file_exists($new_file)) {            //检查是否有该文件夹,如果没有就创建,并给予最高权限            mkdir($new_file, 0700);        }        $name = uniqid() . ".{$type}";        $new_file = $new_file . $name;        if (file_put_contents($new_file, base64_decode(str_replace($result[1], ‘‘, $base)))) {            return $path . $name;        } else {            return false;        }    }}

原文地址:https://www.cnblogs.com/lvfish/p/9178628.html

时间: 2024-07-31 12:46:23

base64图片上传处理方式的相关文章

base64图片上传,推到又拍云

Html部分 <label> <img id="nvhai" src="{$agent.id|get_headimg}" height="70px" width="70"> <input style="display:none" id="tou" type="file" onchange="previewFile()"

base64图片上传

图片上传 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <link rel="stylesheet

JavaWeb图片上传的几种方式

一.图片上传介绍 JavaWeb方向编程过程中,实现图片上传有三种方式: 1.传统的基于springMVC的MultipartFile类实现图片上传. 2.基于Ajax的图片上传. 3.基于Base64压缩的图片上传. 二.springMVC图片上传(springboot通用) 此方法的优点是可以将图片和其他的表单元素一起提交到服务器,服务器接受到的图片其实已经存储于容器的临时文件中,进行文件拷贝工作比较简单. 缺点是无法及时看到图片上传的预览效果,图片一旦选择错误只能重新提交. 注:红色代码为

laravel结合七牛实现base64的图片上传

确保传到后台的是纯base64字符串而不是以data开头的 //base64图片上传 public function uploadCompressImg(Request $request) { $base64 = preg_replace("/\s/",'+',$request->input('img')); $img = base64_decode($base64); $disk = \Storage::disk('qiniu'); //使用七牛云上传 $img_name =

Salesforce图片上传

Salesforce图片上传的方式可通过自带组件apex:inputFile及html标签input type="file"实现. 1.效果 2.apex:inputFile实现 采用标准组件inputFile并将值赋给页面变量(view state)Picture <apex:pageBlockSection columns="1"> <apex:inputFile value="{!Picture}" accept=&quo

分布式系统图片上传方案

思路分析 直接将图片上传到一个指定的目录,访问.下载图片都访问这个目录. 由于项目最终是要部署到Linux环境,所以直接将图片上传到Linux服务器. 问题:那如何将图片上传到Linux呢? 答:使用vsftpd组件,实现文件传输. vsftpd简介 问题1:vsftpd是什么? 答:ftp(File Transfer Protocol)文件传输协议.(实现不同操作系统之间文件的传输) vsftpd是一个基于ftp协议的文件传输服务器软件. 问题2:vsftpd作用是什么? 答:传输文件.(跨平

js实现图片上传预览功能,使用base64编码来实现

实现图片上传的方法有很多,这里我们介绍比较简单的一种,使用base64对图片信息进行编码,然后直接将图片的base64信息存到数据库. 但是对于系统中需要上传的图片较多时并不建议采用这种方式,我们一般会选择存图片路径的方式,这样有助于减小数据库压力,base64 编码后的图片信息是一个很长的字符串,一般我们使用longText类型来将其存入数据库. html代码如下: <div class="col-sm-6"> <img id="headPortraitI

android/IOS常用图片上传的两种方式

android/IOS常用图片上传的两种方式: 1.上传到服务器的文件服务器(FileServer) 原理:上传到文件服务器的方式是先在服务器端搭建文件服务器,配置好路径(url),该路径是我们待会上传图片的路径,配置成功后便通过http+post的模式上传到文件服务器,同时文件服务器将返回一个图片ID,这个ID就是图片的唯一标识,并将该ID写入数据库保存,当需要下载该图片时只需要将此ID带上即可. 两个核心问题: (1)服务端:配置FileServer,并写处理响应上传图片的代码,这个值得去网

使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不够. 下面我们就说说,利用canvas 生成带水印的图片. 1.我们要实现一下效果 2.创建一个canvas var canvas = document.createElement('canvas'); var time = new Date(); var logoCanvas =time+' '+