返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php接口方式上传和接受图片base64
  • 205
分享到

php接口方式上传和接受图片base64

php开发语言json 2023-09-04 10:09:08 205人浏览 八月长安
摘要

转化base64图片远程或本地图片,通过接口方式传输

转化base64图片远程或本地图片,通过接口方式传输

$base_64];$headers[] = "Content-Type: application/json; charset=utf-8";$res = http_post($url,json_encode($param),false,$headers,60);var_dump($res);exit; function img_base64($path){    //对path进行判断,如果是本地文件就二进制读取并base64编码    $img_data="";    if (substr($path,0,strlen("http")) === "http"){        $img_data= n_img_base_64($path);    }else{        $img_data=  imgToBase64($path);    }    return $img_data;} function n_img_base_64($img){    $imageInfo = getimagesize($img);    return 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode(file_get_contents($img)));} function imgToBase64($img_file) {    $img_base64 = '';    if (file_exists($img_file)) {        $app_img_file = $img_file; // 图片路径        $img_info = getimagesize($app_img_file); // 取得图片的大小,类型等        $fp = fopen($app_img_file, "r"); // 图片是否可读权限        if ($fp) {            $filesize = filesize($app_img_file);            $content = fread($fp, $filesize);            $file_content = chunk_split(base64_encode($content)); // base64编码            switch ($img_info[2]) {           //判读图片类型                case 1: $img_type = "gif";                    break;                case 2: $img_type = "jpg";                    break;                case 3: $img_type = "png";                    break;            }            $img_base64 = 'data:image/' . $img_type . ';base64,' . $file_content;//合成图片的base64编码        }        fclose($fp);    }    return $img_base64; //返回图片的base64}function http_post($url,$param,$post_file = false,$headers = [],$outTime = 100){    $oCurl = curl_init();    if(stripos($url,"https://")!==FALSE){        curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);        curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);        curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1    }    if (is_string($param) || $post_file) {        $strPOST = $param;        //exit;    } else {        $aPOST = array();        foreach($param as $key=>$val){            $aPOST[] = $key."=".urlencode($val);        }        $strPOST =  join("&", $aPOST);    }    curl_setopt($oCurl, CURLOPT_URL, $url);    curl_setopt($oCurl, CURLOPT_TIMEOUT, $outTime);    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );    curl_setopt($oCurl, CURLOPT_POST,true);    curl_setopt($oCurl, CURLOPT_POSTFIELDS,$strPOST);    if($headers){        curl_setopt($oCurl, CURLOPT_HttpHEADER, $headers);    }    $sContent = curl_exec($oCurl);    $aStatus = curl_getinfo($oCurl);    if(intval($aStatus["http_code"])==200){        curl_close($oCurl);        return $sContent;    }else{        $err_code = curl_errno($oCurl);        if($sContent){            return  $sContent;        }        curl_close($oCurl);        //exit;        return false;    }}

接受图片base64并保存图片

PHP$data=file_get_contents("php://input");$result=JSON_decode($data,true);$res=saveBase64Image($result['img'],'test');echo  json_encode($res);function saveBase64Image($base64_image_content,$fileName){    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {        //图片后缀        $type = $result[2];        if ($type == 'jpeg') {            $type = 'jpg';        }        //保存位置--图片名        $image_name = $fileName . '-' . date('Ymd') . date('His') . '-' . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT) . "." . $type;        $Absolute_Path = $_SERVER['SCRIPT_FILENAME'];        $Absolute_Path = substr($Absolute_Path, 0, -9);        $root = $_SERVER['DOCUMENT_ROOT'];        $image_url1 = $root.'/img/'.date('Ymd');        $image_url =$image_url1.'/'.$image_name;        $httpHost = $image_url1;        if(!is_dir(dirname($image_url1))){            if (!file_exists($image_url1)) {                mkdir($image_url1, 0777, true);            }        }        //解码        $decode = base64_decode(str_replace($result[1], '', $base64_image_content));        if (file_put_contents($image_url, $decode)) {            $data['code'] = '0';            $data['imageName'] = $image_name;            $data['image_url'] = $httpHost;            $data['type'] = $type;            $data['msg'] = '保存成功!';        } else {            $data['code'] = '1';            $data['imgageName'] = '';            $data['image_url'] = '';            $data['type'] = '';            $data['msg'] = '图片保存失败!';        }    } else {        $data['code'] = '1';        $data['imgageName'] = '';        $data['image_url'] = '';        $data['type'] = '';        $data['msg'] = 'base64图片格式有误!';    }    return $data;}

来源地址:https://blog.csdn.net/weixin_39934453/article/details/127994289

--结束END--

本文标题: php接口方式上传和接受图片base64

本文链接: https://lsjlt.com/news/393430.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php接口方式上传和接受图片base64
    转化base64图片远程或本地图片,通过接口方式传输 ...
    99+
    2023-09-04
    php 开发语言 json
  • php如何实现图片转base64格式并上传
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。在实际开发项目的过程中处理图片上传是一定会遇到的,例如使用thinkphp的小伙伴一定很熟悉import("@.ORG.UploadFile&quo...
    99+
    2019-05-21
    php 图片 base64
  • uniapp多图上传php接受不到怎么解决
    一、背景介绍随着互联网技术的不断发展,越来越多的Web应用需要支持图片上传功能。而uniapp是一款目前非常流行的移动端开发框架,具有跨平台、高效、易用等特点。然而,当我们使用uniapp开发多图上传功能时,就会遇到一些问题:服务器无法正确...
    99+
    2023-05-14
  • Flask接收上传图片方法实现
    目录方案一:下面是复杂的写法:方案二:下面是简单写法:接下来给搭建讲解Flask如何接受图片文件,上面是复杂写法,下面是简单写法,二选一即可。 思路整理:接收图片->定义一个图...
    99+
    2024-04-02
  • php图片上传api文件流方式传递
     php和第三方接口上传图片,通过文件流实现类似前端文件上传方式 第一步把图片放到本地,注意如果是远程图片需要转成本地服务器绝对路径 第二步创建要上传文件夹 第三步请求上传图片接口 ...
    99+
    2023-09-18
    php 开发语言
  • layui中富文本图片上传接口与普通按钮文件上传接口的示例分析
    小编给大家分享一下layui中富文本图片上传接口与普通按钮文件上传接口的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!富...
    99+
    2024-04-02
  • php 接收base64图片并保存到服务器
    昨天“写”了一编关于图片加水印的博文【vue + vant实现图片上传加水印】。那么,从php的后端角度上来说,前端已经实现了加水印,那在php,是怎么接收的。 其实,这跟平时我们写图片上传没什么区别...
    99+
    2023-09-02
    php 开发语言
  • 怎么实现图片上传写入磁盘的接口
    本篇内容主要讲解“怎么实现图片上传写入磁盘的接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现图片上传写入磁盘的接口”吧! 一:开启 Node...
    99+
    2024-04-02
  • laravel怎么实现上传图片的接口并建立软链接访问
    这篇文章主要介绍“laravel怎么实现上传图片的接口并建立软链接访问”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel怎么实现上传图片的接口并建立软链接访问”文章能帮助大家解决问题。我们...
    99+
    2023-07-04
  • FeignMultipartSupportConfig上传图片配置方式
    目录FeignMultipartSupportConfig上传图片配置在对应的boot项目上关闭全局的上传图片的配置在目标feign上面添加对应配置文件的代码如何使用Feign上传图...
    99+
    2024-04-02
  • Flask接收上传图片怎么实现
    本篇内容介绍了“Flask接收上传图片怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!思路整理:接收图片->定义一个图片存放的位...
    99+
    2023-07-02
  • 微信小程序选择本地图片、视频的最新方法chooseMedia,转为为base64上传到后端接口
    微信小程序选择本地图片上传 微信的api变动还是挺大的,之前选择图片的apiwx.chooseImage已被弃用,改为了wx.chooseMedia,本篇将介绍如何使用最新方法wx.chooseMedia进行选择图片上传并回显,以及转为为b...
    99+
    2023-08-18
    微信小程序 音视频 小程序
  • 使用pythonflask框架开发图片上传接口的案例详解
    python版本:3.6+ 需要模块:flask,pillow 需求:开发一个支持多格式图片上传的接口,并且将图片压缩,支持在线预览图片。 目录结构: app.py编辑内容: fr...
    99+
    2024-04-02
  • SpringBoot 利用MultipartFile上传本地图片生成图片链接的实现方法
    方法一 实现类: public String fileUpload(MultipartFile file) { if(file == null){ retu...
    99+
    2024-04-02
  • 使用RestTemplate 调用远程接口上传文件方式
    目录RestTemplate 调用远程接口上传文件问题描述解决方法第一种方式第二种方式RestTemplate调用远程接口添加请求头RestTemplate 调用远程接口上传文件 问...
    99+
    2024-04-02
  • js利用FileReader实现图片转base64格式并上传预览头像
    目录页面布局:思路分析:代码:修改用户头像,一般都会需要把图片转成base64格式,所以我们需要学会怎么利用FileReader转换 页面布局: <template> ...
    99+
    2024-04-02
  • uniapp上传图片和上传视频的实现方法
    目录上传图片上传视频扩展补充:上传文件实例总结基于 uniapp 的应用上传图片/视频 资源的实现: 功能涉及的主要 uniapp API 如下: 1.选择图片:uni.choose...
    99+
    2023-01-17
    uniapp上传视频文件 uniapp 上传图片 vue视频上传
  • PHP制作一个随机图片API接口
    1.导入 自从网站更换了新主题,默认的随机图片API一个比一个慢,于是自己做一个高速的接口给大家用,顺便把制作的教程分享出来,供大家学习。 2.正文 2.1 API制作 首先我们要在网站的根目录下新建一个PHP文件 名称可以自...
    99+
    2023-10-11
    php 开发语言
  • Nodejs如何把接收图片base64格式保存为文件存储到服务器上
    这篇文章主要为大家展示了“Nodejs如何把接收图片base64格式保存为文件存储到服务器上”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nodejs如何把接收...
    99+
    2024-04-02
  • FeignMultipartSupportConfig上传图片配置方式是什么
    这篇文章主要介绍FeignMultipartSupportConfig上传图片配置方式是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!FeignMultipartSupportConfig上传图片配置在对应的bo...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作