base64 图片编码格式: 类似如下

  1. data:image/JPG;base64,/9j/4S/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAG

php 解析代码如下:  基于tp3.2得

  1. public function file_upload(){$base64_str = ""; //base64 图片流
  2. $result_base64 = $this->get_bass64_array($base64_str);
  3.  
  4. $file_name_base64 = $result_base64['file_name'];
  5. $file_type = $result_base64['flie_type'];
  6. $upload_img = base64_decode($file_name_base64);
  7.  
  8. $img_file_name = 'large/';
  9. $img_name = uniqid().".".$file_type;
  10. $upload_path = C('upload_path'); // 设置附件上传根目录
  11. $rootPath = C('upload_img_url'). rtrim($upload_path, '/'); //设置上传全路径
  12. $file_path = $rootPath."/".$img_file_name.$img_name;
  13. $upload_result = file_put_contents($file_path, $upload_img);//保存图片,返回的是字节数
  14.  
  15. if(empty($upload_result) || $upload_result =='0'){
  16. unlink($upload_result);
  17. E("文件上传失败",'102');
  18. }
  19. $img_info_size = ceil(filesize($file_path)); //单位:B
  20. $maxSize = 5*1024*1024; // 设置附件上传大小 5M
  21. if($img_info_size > $maxSize){
  22. unlink($upload_result);
  23. E("文件大小超出限制:5M",'103');
  24. }
  25.  
  26. $returnPath= $upload_path.$img_file_name.$img_name;
  27. $preview=C('img_base').$returnPath;
  28.  
  29. $return_data = array(
  30. "returnPath"=>$returnPath,
  31. "preview"=>$preview //预览使用
  32. );
  33. return $return_data;
  34. }
  35.  
  36. //处理base64:
  37. private function get_bass64_array($data_str){
  38. if(empty($data_str)){
  39. return '';
  40. }
  41. $base_array= explode(',', $data_str);
  42. $base_file = $base_array[1];
  43. $base_file_type=$this->get_between($base_array[0], "/", ";");
  44. $return_data = array(
  45. "flie_type"=>$base_file_type,
  46. 'file_name'=>$base_file
  47. );
  48. return $return_data;
  49. }
  50.  
  51. /*
  52. * php截取指定两个字符之间字符串
  53. * */
  54. private function get_between($input, $start, $end) {
  55. $substr = substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1));
  56. return $substr;
  57. }

核心代码如上,可根据自己业务或者框架代码 稍作修改,即可使用

【PHP】 php 解析 base64图片上传的更多相关文章

  1. 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间

    现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...

  2. php实现base64图片上传方式实例代码

    <?php /** * base64图片上传 * @param $base64_img * @return array */ header("content-type:text/htm ...

  3. ios base64图片上传失败问题

    今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...

  4. tp5 base64 图片上传

    /** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...

  5. base64图片上传,并根据不同项目进行智能修改图片

    前台传图片的base64格式,后台处理方式//处理图片信息 返回对应的路径public function uploadBaseIma($imgArr){ $result = array(); //将路 ...

  6. tomcat 下 base64图片上传超过2m的解决方案

    方案一: tomcat部署下默认post请求提交参数大小为2M左右,超过这个大小,就会传值不成功 要使post请求参数无大小限制,需要在server.xml上修改,如下: <Connector ...

  7. 简单的html5 File base64 图片上传

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. php图片上传base64数据编码。

    /** * base64图片上传 */ function IdImg($base64_img = ''){ $up_dir = 'upload/';//存放在当前目录的upload文件夹下 if(!f ...

  9. 七牛图片上传JSSDK

    BASE64图片上传 接口说明: POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/ ...

随机推荐

  1. Java如何显示不同语言的时间?

    在Java中,如何显示不同语言的时间? 此示例使用DateFormat类以中文语言显示时间. package com.yiibai; import java.text.DateFormat; impo ...

  2. C#中按模板操作Word —— 如何向Word中插入图片

    一.Word对象模型的重叠性分析 本文主要介绍通过书签Bookmark向Word文档中插入图片的方法.在此之前我们先简单讨论下Word对象模型的重叠性.如果你对Word对象模型还不熟悉,请参考本专栏第 ...

  3. Lemon OA第3篇:核心功能

    对Lemon OA系统的核心功能进行梳理,分别介绍说明如下文. Portal页面 还是从用户主页开始说起: OA核心的功能就是流程,启动流程,办理流程,查看历史,3个常用功能都罗列在用户主页上,方便用 ...

  4. ASM实例原始磁盘搜索路径

    discovery diskstring==>ASM实例原始磁盘搜索路径,一般搜索/dev/raw/  /dev/oracleasm/ 初始化参数文件中为:asm_diskstring asmc ...

  5. java-信息安全(一)-BASE64,MD5,SHA,HMAC,RIPEMD算法

    概述 信息安全基本概念: BASE64 编码格式 Base58 编码 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm, ...

  6. mysql Communication link failure, message from server: "Can't get hostname for your address"

    在连接mysql jdbc时候,抛出了 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communicat ...

  7. mysql4.5 更改密码,登录命令行闪退

    登录到命令行 修改密码: 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set passwor ...

  8. 在PHP中使用curl_init函数的说明

    $ch = curl_init(); $c_url = 'http://www.baidu.com'; $c_url_data = "product_&type=".$ty ...

  9. 一键切换hosts文件

    1.新建文件host.bat 2.代码 @echo off cd.>C:\Windows\System32\drivers\etc\hosts echo .本地环境 .线上测试环境 ,切换Hos ...

  10. 获取设备和 App 信息

    设备对照表:https://www.theiphonewiki.com/wiki/Models 获取设备和 App 信息代码: NSLog(@"设备信息如下"); NSLog(@& ...