为了账号安全,请及时绑定邮箱和手机立即绑定

php yii2接口中图片上传

/ 猿问

php yii2接口中图片上传

Yii
慕圣8478803 2018-08-09 10:01:06

现在在给ios给接口,遇到了一些图片上传的问题,现在可以接收到ios传来的base64编码后的数据。我是否需要解码?解码又需要怎么处理才能把图片上传到服务器,并从服务器获取URL来存入到数据库呢?求大神指导。本人是在yii2框架下写的接口

查看完整描述

2 回答

?
饮歌长啸

首先,ios是能够传递文件类型的数据的,你可以直接使用$_FILES来获取的,多张图片也一样,沟通下ios是否换种方式。其次,如果在你们这个场景中只考虑base64的图片,你接受到了参数使用base64_decode解码不是解码整个字符串,是解码不带前面格式的串。不过看你贴出来的图,应该是ios那边做了处理,只传递你base64的部分。那么你解码之后的得到的东西,使用file_puts_content写入到一个文件,命名为xxx.jpg(具体后缀名,你可以和ios约定好),保存到临时地址,再移动到你的图片真正的保存地址。

查看完整回答
反对 回复 2018-08-12
?
幕布斯6054654

我在前端做canvas图片合成的时候用过base64
yii2处理
1.读取base64编码后的数据 => $data
2.$data = base64_decode($data);//data为二进制数据了
3.假设web目录下有upload文件夹,文件名为md5(microtime(true)).'.jpg' => $filename
4.file_put_contents(Yii::$app->basePath.'/web/upload/'.$filename,$data);
5.url = Yii::$app->urlManager->createAbsoluteUrl(['/']).'upload/'.$filename

查看完整回答
反对 回复 2018-08-12

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信