base64格式的图片上传阿里云
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;
}
base64格式的图片上传阿里云的更多相关文章
- 微信小程序中图片上传阿里云Oss
本人今年6月份毕业,最近刚在上海一家小公司实习,做微信小程序开发.最近工作遇到一个小问题. 微信小程序图片上传阿里云服务器Oss也折腾了蛮久才解决的,所以特意去记录一下. 第一步:配置阿里云地址: 我 ...
- 百度editor调用【图片上传阿里云】
百度editor调用简单,但是图片和文件上传阿里云就有点难度了.下面我详细说一下. 百度富文本编辑器下载地址:http://ueditor.baidu.com/website/download.htm ...
- 如何把base64格式的图片上传到到阿里云oss c#版
今天碰到需要把canvas上的的图片转存到阿里云oss,于是百度了半天,一个能打的答案都没有.怒了,自己搞起. 代码超级简单,需要先引入nuget 中啊里云的oss api 1 byte[] arr ...
- 小程序--->小程序图片上传阿里OSS使用方法
小程序图片上传阿里OSS使用方法 首先看下参考文档 ( http://blog.csdn.net/qq_38125123/article/details/73870667) 这里只将一些运用过程中遇到 ...
- 关于数据上传阿里云MaxCompute调研
1.背景 当前的数据存储基于mysql库表存储形式,目前已经无法满足愈加增大的数据存储需求,新项目基于Maxcompute数据仓库架构,需要将统计日志上传Maxcompute,本文对Maxcomput ...
- PHP批量保存图片到服务器再上传阿里云
/* * 批量传输产品主图到阿里云 */ public function transferImage(){ $num = 50; $p = isset($this->request->ge ...
- Fit项目图片上传和云存储的调通
项目中关于动作的说明需要相应的配图,这样可以更直观的说明动作要点.本篇主要为项目中动作的新增和编辑做准备,确定适合场景的上传操作逻辑以及图片的存储和加载的方法. 一 上传方案 a) 本来所用的模板中是 ...
- js base64 转成图片上传
直接上代码,要点就是把base64转成Blob,添加到FormData传递给后台程序,跟选择图片文件上传时一样的了. var dataurl = canvas.toDataURL('image/png ...
- alpine制作jdk、jre镜像、自定义镜像上传阿里云
alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBo ...
随机推荐
- jQuery——选择器效率
N1:$('#box').find('p'):最快,直接了当的找到对应的节点jQuery对象: N2:$('p','#box'):注意不是$('p,#box')!!!,jQuery会按照从右往左的顺序 ...
- JavaScript——闭包(转自别人)
有这样一个段子:说闭包的主要作用是什么?,答:面试.确实在许多面试中,闭包是必问项目,所以不为别的,只为面试,理解闭包就很重要. 说到 闭包 ,这是js不得不提的一个特性,很多传统语言都不具备这样的特 ...
- python winreg总结
注册表 结构 注册表由键(key,或称“项”).子键(subkey,子项)和值项(value)构成.一个键就是树状数据结构中的一个节点,而子键就是这个节点的子节点,子键也是键.一个值项则是一个键的一条 ...
- Python装饰器的一点解读
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/12977127.html 作者:窗户 ...
- 记一次使用windbg排查内存泄漏的过程
一.背景 近期有一个项目在运行当中出现一些问题,程序顺利启动,但是观察一阵子后发现内存使用总量在很缓慢地升高, 虽然偶尔还会往下降一些,但是总体还是不断上升:内存运行6个小时候从33M上升到80M: ...
- Rocket - util - IDPool
https://mp.weixin.qq.com/s/Pe7FGKzfRufzzYDrl0fQ7g 介绍IDPool的实现. 1. 基本介绍 实现从ID池中分配和释放ID的功能. ...
- (Java实现) 零件分组
零件分组(Stick)-动态规划-中高级 Case Time Limit:1000MS Time Limit: 3000MS Memory Limit: 65536K Total Submission ...
- Java实现 LeetCode 520 检测大写字母
520. 检测大写字母 给定一个单词,你需要判断单词的大写使用是否正确. 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA". 单词中所有字母都不是 ...
- Java实现蓝桥杯VIP 算法训练 P0504
试题 算法训练 P0504 资源限制 时间限制:1.0s 内存限制:256.0MB Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的 ...
- Java实现第八届蓝桥杯图形排版
标题:图形排版 小明需要在一篇文档中加入 N 张图片,其中第 i 张图片的宽度是 Wi,高度是 Hi. 假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版: 1. 该工具会按照 ...