base64格式的图片上传阿里云

上传图片的时候,除了普通的图片上传,还有一张图片信息是以base64格式发送到后台的。

后台接受base64格式的图片,上传至阿里云代码:(主要是将base64转化成临时的图片文件,上传后删除即可)

   /*** @param $imgBase64 获取图片base64字符串* return String '返回阿里云上的图片路径*/public function uploadUserImg($imgBase64,$workno,$realName){// 图片上传测试$bucketName = getLinkageNameByCode('OSS_CONFIG','BUCKET_NAME'); // 存储空间名称$accessId = getLinkageNameByCode('OSS_CONFIG','ACCESS_ID');$accessKey = getLinkageNameByCode('OSS_CONFIG','ACCESS_KEY');$endpoInt = getLinkageNameByCode('OSS_CONFIG','ENDPOINT'); // OSS数据中心访问域名if (preg_match('/^(data:\s*image\/(\w+);base64,)/',$imgBase64,$res)) {//获取图片类型$type = $res[2];//图片名字$fileName = time().'.'.$type;// 临时文件$tmpfname = tempnam("/tmp/", "FOO");$handle = fopen($tmpfname, "w");if (fwrite($handle,base64_decode(str_replace($res[1],'', $imgBase64)))){$res = OssUtil::FileUpload($accessId,$accessKey,$endpoInt,$bucketName,'avator/'.$workno.'/'.$realName.'/'.$fileName,$tmpfname);fclose($handle);unlink($tmpfname);return $res['info']['url'];}}}

 /*** 用于上传文件* @param $ACCESS_ID string OSS获得的AccessKeyId* @param $ACCESS_KEY string OSS获得的AccessKeySecret* @param $ENDPOINT string OSS数据中心的访问域名* @param $bucket_name string 存储空间名称* @param $object string 文件名称* @param $filePath string 由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt* @return null|void*/function FileUpload($ACCESS_ID,$ACCESS_KEY,$ENDPOINT,$bucket_name,$object,$filePath){try{$ossClient = new OssClient($ACCESS_ID, $ACCESS_KEY, $ENDPOINT);$getReturn = $ossClient->uploadFile($bucket_name, $object, $filePath);} catch(OssException $e) {\Think\Log::record(__FUNCTION__ . ": upload FAILED\n", 'INFO');\Think\Log::record("upload FAILED : ".$e->getMessage() . "\n", 'INFO');return $e->getMessage();}return $getReturn;}

转载于:https://www.cnblogs.com/honeyJYY/p/9722612.html

base64格式的图片上传阿里云相关推荐

  1. 微信 开发 图片 上传 阿里云 oss 服务器

    在做微信开发时,我需要将图片上传至阿里云OSS,思路是服务端下载微信图片再转存至OSS. wx.chooseImage({count: 1, // 默认9sizeType: ['original', ...

  2. NetCore多图片批量上传阿里云OSS,代码可以直接拿过来用

    背景 图片上传功能是web开发必不可少的功能.图片上传到哪里其实都是一个非常头疼的事情,多个文件源各种地址组合,经常会出现图片地址错误问题.自从前后端分离.小程序.app成为流行后,大家一般都会将文件 ...

  3. 文件分片上传阿里云OSS

    本文参考其他博客并结合自身编写 博客原作者:程序猿谢哥哥 博客原地址:https://blog.csdn.net/weixin_42825651/article/details/108792264 注 ...

  4. spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)

    代码实现请看下一篇: spring boot上传阿里云对象存储OSS快速上手(二.代码实现,复制粘贴可用) 简介: 1.阿里云对象存储OSS其实就是一个文件存储的服务 2.在我们的开发过程中会遇到类似 ...

  5. 微信小程序上传阿里云OSS,返回204,400,403,405,解决方案

    目录 微信小程序上传阿里云 ==OSSAccessKeyId,policy,signature==如何获取呢? 配置Bucket跨域访问 配置外网域名到小程序的域名白名单 上传报错(返回400,403 ...

  6. ESP8266获取传感器数值,上传阿里云

    #include <DHT.h> #include<ESP8266WiFi.h> #include <PubSubClient.h> #include <Wi ...

  7. java利用iText写pdf并上传阿里云OSS并下载

    iText是用于生成pdf的一个类库,通过它可以生成pdf或者将XML , HTML转换城pdf模版:阿里云的oss对象存储存储的类型比较多了,可以存储音频 图片 pdf excel 等资源,oss本 ...

  8. 通过一键配网,上传阿里云数据

    #include <DHT.h> #include<ESP8266WiFi.h> #include <PubSubClient.h> #include <Wi ...

  9. Arduino-ESP8266检测温湿度上传阿里云

    Arduino-ESP8266检测温湿度上传阿里云 硬件准备 Arduino IDE环境 阿里云端 实物接线 IDE库文件配置 ArduinoJson AliyunIoTSDK PubSubClien ...

最新文章

  1. 零基础入门学习Python(3) 变量与字符串
  2. 个人项目一:自动生成四则运算题目的“软件”
  3. 亲历者说 | 完整记录一年多考拉海购的云原生之路
  4. eye care staff
  5. 神经网络 | BP神经网络-数字识别(附源代码)
  6. elementui常用知识点总结
  7. c++ list容器获取第n给元素_Java总结之容器家族--Collection*
  8. BAT等大厂十年研发经历,总结了12开发条经验(墙裂推荐)
  9. 凸包算法(Convex Hull Algorithm)
  10. 爱的十个秘密--7.舍弃的力量
  11. Java String常用方法
  12. CSS3 的 calc()函数(为元素设置动态的属性值)【积累】
  13. 天马行空脚踏实地,阿里巴巴有群百里挑一的天才应届生...
  14. 分析:G20相争 IMF得利
  15. android 很多牛叉布局github地址(转)
  16. 今天特意分享一个程序猿的微信群,聊天专用
  17. 记忆mySQL增删改查
  18. 软件经济工程学考试 针对基础概念
  19. Linux 终端命令使用讲解
  20. 软件工程之PERT图(概念)

热门文章

  1. 以下选项不是python文件读操作的是-以下选项中,不是Python中文件操作的相关函数是()...
  2. 以下选项不是python打开方式的是-以下选项中,不是Python对文件的打开模式的是...
  3. python turtle库画图案-python之绘制图形库turtle(转)
  4. python小程序-第一个python小程序——即时动态时钟(代码解读)
  5. 通信专业学python有用吗-一起学Python:网络通信过程
  6. 免费学python的网站-免费学习Python编程的3个优秀的网站资源
  7. python安装步骤win10-教你如何在Win10系统安装Python?
  8. python入门到精通需要学多久-入门到精通python要多久
  9. python和vb的代码可以通用吗-python和vb哪个简单
  10. python输入输出-Python input()和print()终端输入输出